Django 入门学习总结5
修改polls/detail.html文件,写一个表单:
<form action="{% url 'polls:vote' question.id %}" method="post">
{% csrf_token %}
<fieldset>
<legend><h1>{{ question.question_text }}</h1></legend>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
{% for choice in question.choice_set.all %}
<input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">
<label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br>
{% endfor %}
</fieldset>
<input type="submit" value="Vote">
</form>
修改polls/views.py文件:
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from .models import Choice, Question
# ...
def vote(request, question_id):
question = get_object_or_404(Question, pk=question_id)
try:
selected_choice = question.choice_set.get(pk=request.POST["choice"])
except (KeyError, Choice.DoesNotExist):
# Redisplay the question voting form.
return render(
request,
"polls/detail.html",
{
"question": question,
"error_message": "You didn't select a choice.",
},
)
else:
selected_choice.votes += 1
selected_choice.save()
# Always return an HttpResponseRedirect after successfully dealing
# with POST data. This prevents data from being posted twice if a
# user hits the Back button.
return HttpResponseRedirect(reverse("polls:results", args=(question.id,)))
和结果方法:
def results(request, question_id):
question = get_object_or_404(Question, pk=question_id)
return render(request, "polls/results.html", {"question": question})
创建polls/results.html页面,内容为:
最好用少的代码
修改polls/urls.py文件为:
from django.urls import path
from . import views
app_name = "polls"
urlpatterns = [
path("", views.IndexView.as_view(), name="index"),
path("<int:pk>/", views.DetailView.as_view(), name="detail"),
path("<int:pk>/results/", views.ResultsView.as_view(), name="results"),
path("<int:question_id>/vote/", views.vote, name="vote"),
]
修改视图
修改文件polls/views.py:
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from django.views import generic
from .models import Choice, Question
class IndexView(generic.ListView):
template_name = "polls/index.html"
context_object_name = "latest_question_list"
def get_queryset(self):
"""Return the last five published questions."""
return Question.objects.order_by("-pub_date")[:5]
class DetailView(generic.DetailView):
model = Question
template_name = "polls/detail.html"
class ResultsView(generic.DetailView):
model = Question
template_name = "polls/results.html"
可以重新在网址上测试下。
相关文章:
Django 入门学习总结5
修改polls/detail.html文件,写一个表单: <form action"{% url polls:vote question.id %}" method"post"> {% csrf_token %} <fieldset> <legend><h1>{{ question.question_text }}</h…...
FileNotFoundError: [Errno 2] No such file or directory: ‘patchelf‘: ‘patchelf‘
sudo apt-get install patchelf...
『new Date 在 IOS 失效 の bug』
问题:new Date()在安卓下正常,在IOS下显示不出来。 原因:在IOS下,new Date(“2000-2-22 00:10”),返回的是undefined,因为IOS不支持这种类型格式。 解决:更换下格式:new Date(“2000/2/22”) …...
macos创建xcframework及签名
前言 Framework 可以理解为封装了共享资源的具有层次结构的文件夹,共享资源可以是 nib文件、国际化字符串文件、头文件、库文件等等。它同时也是一个 Bundle,里面的内容可以通过 Bundle 相关 API 来访问。Framework 可以是 static framework 或 dynamic…...
Oracle与Redis Enterprise协同,作为企业缓存解决方案
来源:虹科云科技 虹科干货丨Oracle与Redis Enterprise协同,作为企业缓存解决方案 欢迎关注虹科,为您提供最新资讯! 单独使用Oracle作为企业缓存数据库时,会出现哪些问题呢?使用Redis Enterprise与Oracle共…...
局部保持投影(Locality preserving projections,LPP)
局部保持投影(Locality preserving projections,LPP) 方法概述 核心思想 有映射 Y m ∗ n f ( X d ∗ n ) \underset{m*n}{Y}f(\underset {d*n}X) m∗nYf(d∗nX),能够实现将d维的样本变换到m维空间之中 假设:对…...
Flutter:引领移动开发新潮流,跨平台应用程序的终极解决方案
文章目录 一、介绍二、环境搭建三、基础组件四、生命周期管理五、路由控制六、网络请求七、数据存储八、调试与优化《从零基础到精通Flutter开发》特色内容简介作者简介目录获取方式 一、介绍 Flutter是由Google开发的一款开源移动应用开发框架,它可以帮助开发者快…...
开源免费的流程设计器如何选型
大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候,经常用到流程引擎,目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准,其功能均比较强大,接口也很丰富。但涉…...
设置pdb自动启动
参考文档: How to Preserve Open Mode of PDBs When the CDB Restarts (Doc ID 1933511.1) -- 查看pdb的保留状态.无保留状态 select * from DBA_PDB_SAVED_STATES; SYScdbtest SQL> select * from DBA_PDB_SAVED_STATES;no rows selectedSYScdbtest SQL> -…...
抖店入驻成功后,新手需要怎么做?7天起店流程教会你!
我是电商珠珠 在抖店入驻成功后,很多新手并不知道怎么将抖店做起来。 我做抖店也已经3年时间了,期间也带着想做店的小伙伴一起,是第一波入驻抖店,并吃到抖店红利的商家。 虽然现在抖店起店比着去年、前年相对难了一些ÿ…...
RTS 客户端-服务器网络
Stone Monarch 从一开始就支持多人游戏,但随着时间的推移,网络模型经历了多次迭代。我最初基于这篇著名的帝国时代文章实现了点对点锁步模型。 点对点锁定步骤有一些众所周知的问题。点对点方面使玩家很难相互连接,并增加了每个新玩家的网络…...
python连接数据库的方式
python连接数据库的方式 pyzenith.connect()函数就是连接数据库; exception.ScriptException()这一句是自定义异常,可以不用我这个; finally里面还有一个try finally是有必要的,防止…...
【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者
目录 前言1 腾讯云向量数据库介绍2 向量数据库信息及设置2.1 向量数据库实例信息2.2 实例监控2.3 密钥管理2.4 安全组2.5 Embedding2.6 可视化界面 3 可视化界面4 Embedding4.1 embedding_coll精确查询4.2 unenabled_embedding_coll精确查询 5 数据库5.1 创建数据库5.2 插入数据…...
二、sql手工注入
一、SQL注入的本质 解释:想要进行sql注入,肯定要发现注入点,一般简单的sql注入通过下面两种方式判断就能发现是否存在sql注入漏洞 1.字符型 注意:字符型注入可能为或" 查询语句: select * from student where…...
day61 layui和分页原理
昨日内容回顾 choices参数的使用 一般用在什么场景:当被存储的字段数据可能被列举完毕的时候一般会使用choices参数 性别 学历 来源 工作经验等 一般情况下不在数据表中直接存储中文,存数字、存字母来做映射 # 怎么使用 gender_choices ((1, 男),(2…...
Rust开发——变量、静态变量与常量
1.变量 在 Rust 中,类型安全是通过静态类型系统来实现的。变量绑定默认情况下是不可变的(immutable)。 在 Rust 中声明一个变量时,默认情况下它是不可变的。例如: fn main() {let x :i32 5; // 这是一个…...
javascript Math相关计算取值属性方法
*向上取整【只要有小数就+1】 Math.ceil(3.14); // 4 *向下取整【有小数就舍弃】 Math.floor(3.14); // 3 parseInt(3.14); // 3 // 常用于字符串类型的数字转为十进制的数据 四舍五入【小数点后部分】 Math.round(11.5)); //12 Math.round(-11.5)); //-11 取两数…...
git reset hard,mixed,soft
首先,我们得了解git reset命令的形式之一: git reset [<mode>] [<commit>] 此命令的作用是恢复HEAD分支到<commit>位置,并根据<mode>决定是否恢复index file和working tree。恢复是指将staging area和working tree…...
Cookie与Session知识
目录 一.Cookie与Session的发展史 1.Cookie的发展史 2.Session的发展史 3.Cookie和Session的关系 4.总结 二.Cookie与Session详解 1.Cookie 2.Session 3.token 4.总结 三.Django操作Cookie 1.设置Cookie 2.获取Cookie 3.设置超时时间 4.注销Cookie 5.登录功能实…...
Vue批量全局处理undefined和null转为““ 空字符串
我们在处理后台返回的信息,有的时候返回的是undefined或者null,这种字符串容易引起用户的误解,所以需要我们把这些字符串处理一下。 如果每个页面都单独处理,那么页面会很冗余,并且后期如果有修改容易遗漏,…...
Movelt2 规划场景 ROS API
文章目录前言一、使用rviz可视化二、ROS API1.发布所需话题2.定义附着碰撞物体的消息3.将一个对象添加到环境中4.同步更新和异步更新的区别5.将一个物体连接到机器人上6.从机器人上分离一个物体7.将物体从碰撞世界移除总结前言 本文整理的是 MoveIt2 官方示例 主要学习 添加和…...
Flutter 渐变背景的实现与应用
在现代移动应用开发中,界面美化是提高用户体验的重要手段之一。Flutter作为一个跨平台的UI框架,提供了丰富的图形和动画功能,其中就包括对渐变背景的支持。本文将通过实例讲解如何在Flutter中实现渐变背景,并展示其应用场景。 渐变背景的基础实现 在Flutter中实现渐变背景…...
死信队列(Dead Letter Queue, DLQ)介绍(失败消息的隔离区)毒消息Poison Message、指数退避Exponential Backoff、延迟队列Delay Queue、重放
文章目录死信队列(Dead Letter Queue, DLQ)详解与实践指南一、什么是死信队列(DLQ)?二、什么是“死信消息”?1. 消费失败且超过最大重试次数2. 消息过期(TTL 超时)3. 队列已满&#…...
AI 热点资讯日报
文章目录AI 热点资讯日报一、今日核心热点总结二、各来源文章汇总📰 新华网科技📰 36氪📰 虎嗅网📰 网易科技📰 雷锋网三、关键词热度排行四、编辑点评📖 延伸阅读AI 热点资讯日报 日期:2026-0…...
GEO之家平台的核心价值具体体现在哪里?
一、GEO之家的定位:不只是工具,是完整工作流很多刚接触GEO的朋友会问:市面上工具那么多,GEO之家有什么不同?简单来说,GEO之家不是单个工具,而是围绕GEO完整工作流打造的工具矩阵。它覆盖了从问题…...
扩散模型与LLM协同优化语音识别技术解析
1. 项目背景与核心价值去年在语音技术峰会上第一次听到"扩散模型LLM"的混合架构时,我就意识到这可能是下一代语音处理系统的突破口。传统语音识别(ASR)系统在面对口音、噪声等复杂场景时,往往需要依赖复杂的后处理流水线…...
如何管控员工上网行为?这几款监控软件护航办公安全
数字化办公时代,企业终端设备数量激增,电脑作为核心办公载体,承载着日常办公、业务处理、数据存储等关键工作。但终端分散管理难、软件滥用、网络违规访问、文件操作失控、硬件资产流失等问题,不仅降低办公效率,更埋下…...
从C语言转Verilog踩过的坑:逻辑运算‘真值’判定,差点让我电路跑飞
从C语言转Verilog踩过的坑:逻辑运算‘真值’判定差点让我电路跑飞 第一次用Verilog写状态机时,我遭遇了职业生涯最诡异的bug——仿真波形显示状态跳转完全随机,而RTL代码看起来毫无问题。直到深夜盯着波形图突然发现,当计数器值为…...
Win11Debloat:Windows 11终极优化工具,5分钟还你一个干净高效的系统
Win11Debloat:Windows 11终极优化工具,5分钟还你一个干净高效的系统 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other cha…...
IDM激活脚本终极指南:三种方案彻底解决激活弹窗问题
IDM激活脚本终极指南:三种方案彻底解决激活弹窗问题 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 每次打开Internet Download Manager都弹出烦人的…...
