当前位置: 首页 > news >正文

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文件&#xff0c;写一个表单&#xff1a; <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』

问题&#xff1a;new Date()在安卓下正常&#xff0c;在IOS下显示不出来。 原因&#xff1a;在IOS下&#xff0c;new Date(“2000-2-22 00:10”),返回的是undefined&#xff0c;因为IOS不支持这种类型格式。 解决&#xff1a;更换下格式&#xff1a;new Date(“2000/2/22”) …...

macos创建xcframework及签名

前言 Framework 可以理解为封装了共享资源的具有层次结构的文件夹&#xff0c;共享资源可以是 nib文件、国际化字符串文件、头文件、库文件等等。它同时也是一个 Bundle&#xff0c;里面的内容可以通过 Bundle 相关 API 来访问。Framework 可以是 static framework 或 dynamic…...

Oracle与Redis Enterprise协同,作为企业缓存解决方案

来源&#xff1a;虹科云科技 虹科干货丨Oracle与Redis Enterprise协同&#xff0c;作为企业缓存解决方案 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 单独使用Oracle作为企业缓存数据库时&#xff0c;会出现哪些问题呢&#xff1f;使用Redis Enterprise与Oracle共…...

局部保持投影(Locality preserving projections,LPP)

局部保持投影&#xff08;Locality preserving projections&#xff0c;LPP&#xff09; 方法概述 核心思想 有映射 Y m ∗ n f ( X d ∗ n ) \underset{m*n}{Y}f(\underset {d*n}X) m∗nY​f(d∗nX​)&#xff0c;能够实现将d维的样本变换到m维空间之中 假设&#xff1a;对…...

Flutter:引领移动开发新潮流,跨平台应用程序的终极解决方案

文章目录 一、介绍二、环境搭建三、基础组件四、生命周期管理五、路由控制六、网络请求七、数据存储八、调试与优化《从零基础到精通Flutter开发》特色内容简介作者简介目录获取方式 一、介绍 Flutter是由Google开发的一款开源移动应用开发框架&#xff0c;它可以帮助开发者快…...

开源免费的流程设计器如何选型

大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候&#xff0c;经常用到流程引擎&#xff0c;目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准&#xff0c;其功能均比较强大&#xff0c;接口也很丰富。但涉…...

设置pdb自动启动

参考文档&#xff1a; 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天起店流程教会你!

我是电商珠珠 在抖店入驻成功后&#xff0c;很多新手并不知道怎么将抖店做起来。 我做抖店也已经3年时间了&#xff0c;期间也带着想做店的小伙伴一起&#xff0c;是第一波入驻抖店&#xff0c;并吃到抖店红利的商家。 虽然现在抖店起店比着去年、前年相对难了一些&#xff…...

RTS 客户端-服务器网络

Stone Monarch 从一开始就支持多人游戏&#xff0c;但随着时间的推移&#xff0c;网络模型经历了多次迭代。我最初基于这篇著名的帝国时代文章实现了点对点锁步模型。 点对点锁定步骤有一些众所周知的问题。点对点方面使玩家很难相互连接&#xff0c;并增加了每个新玩家的网络…...

python连接数据库的方式

python连接数据库的方式 pyzenith.connect&#xff08;&#xff09;函数就是连接数据库&#xff1b; exception.ScriptException&#xff08;&#xff09;这一句是自定义异常&#xff0c;可以不用我这个&#xff1b; finally里面还有一个try finally是有必要的&#xff0c;防止…...

【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者

目录 前言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注入的本质 解释&#xff1a;想要进行sql注入&#xff0c;肯定要发现注入点&#xff0c;一般简单的sql注入通过下面两种方式判断就能发现是否存在sql注入漏洞 1.字符型 注意&#xff1a;字符型注入可能为或" 查询语句&#xff1a; select * from student where…...

day61 layui和分页原理

昨日内容回顾 choices参数的使用 一般用在什么场景&#xff1a;当被存储的字段数据可能被列举完毕的时候一般会使用choices参数 性别 学历 来源 工作经验等 一般情况下不在数据表中直接存储中文&#xff0c;存数字、存字母来做映射 # 怎么使用 gender_choices ((1, 男),(2…...

Rust开发——变量、静态变量与常量

1.变量 在 Rust 中&#xff0c;类型安全是通过静态类型系统来实现的。变量绑定默认情况下是不可变的&#xff08;immutable&#xff09;。 在 Rust 中声明一个变量时&#xff0c;默认情况下它是不可变的。例如&#xff1a; fn main() {let x &#xff1a;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

首先&#xff0c;我们得了解git reset命令的形式之一&#xff1a; git reset [<mode>] [<commit>] 此命令的作用是恢复HEAD分支到<commit>位置&#xff0c;并根据<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转为““ 空字符串

我们在处理后台返回的信息&#xff0c;有的时候返回的是undefined或者null&#xff0c;这种字符串容易引起用户的误解&#xff0c;所以需要我们把这些字符串处理一下。 如果每个页面都单独处理&#xff0c;那么页面会很冗余&#xff0c;并且后期如果有修改容易遗漏&#xff0c…...

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、重放

文章目录死信队列&#xff08;Dead Letter Queue, DLQ&#xff09;详解与实践指南一、什么是死信队列&#xff08;DLQ&#xff09;&#xff1f;二、什么是“死信消息”&#xff1f;1. 消费失败且超过最大重试次数2. 消息过期&#xff08;TTL 超时&#xff09;3. 队列已满&#…...

AI 热点资讯日报

文章目录AI 热点资讯日报一、今日核心热点总结二、各来源文章汇总&#x1f4f0; 新华网科技&#x1f4f0; 36氪&#x1f4f0; 虎嗅网&#x1f4f0; 网易科技&#x1f4f0; 雷锋网三、关键词热度排行四、编辑点评&#x1f4d6; 延伸阅读AI 热点资讯日报 日期&#xff1a;2026-0…...

GEO之家平台的核心价值具体体现在哪里?

一、GEO之家的定位&#xff1a;不只是工具&#xff0c;是完整工作流很多刚接触GEO的朋友会问&#xff1a;市面上工具那么多&#xff0c;GEO之家有什么不同&#xff1f;简单来说&#xff0c;GEO之家不是单个工具&#xff0c;而是围绕GEO完整工作流打造的工具矩阵。它覆盖了从问题…...

扩散模型与LLM协同优化语音识别技术解析

1. 项目背景与核心价值去年在语音技术峰会上第一次听到"扩散模型LLM"的混合架构时&#xff0c;我就意识到这可能是下一代语音处理系统的突破口。传统语音识别&#xff08;ASR&#xff09;系统在面对口音、噪声等复杂场景时&#xff0c;往往需要依赖复杂的后处理流水线…...

如何管控员工上网行为?这几款监控软件护航办公安全

数字化办公时代&#xff0c;企业终端设备数量激增&#xff0c;电脑作为核心办公载体&#xff0c;承载着日常办公、业务处理、数据存储等关键工作。但终端分散管理难、软件滥用、网络违规访问、文件操作失控、硬件资产流失等问题&#xff0c;不仅降低办公效率&#xff0c;更埋下…...

从C语言转Verilog踩过的坑:逻辑运算‘真值’判定,差点让我电路跑飞

从C语言转Verilog踩过的坑&#xff1a;逻辑运算‘真值’判定差点让我电路跑飞 第一次用Verilog写状态机时&#xff0c;我遭遇了职业生涯最诡异的bug——仿真波形显示状态跳转完全随机&#xff0c;而RTL代码看起来毫无问题。直到深夜盯着波形图突然发现&#xff0c;当计数器值为…...

Win11Debloat:Windows 11终极优化工具,5分钟还你一个干净高效的系统

Win11Debloat&#xff1a;Windows 11终极优化工具&#xff0c;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激活脚本终极指南&#xff1a;三种方案彻底解决激活弹窗问题 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 每次打开Internet Download Manager都弹出烦人的…...