首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在django中将固定选择链接到新创建的问题

在Django中,可以通过使用外键字段来将固定选择链接到新创建的问题。外键字段是一种关系字段,用于建立模型之间的关联。

以下是在Django中将固定选择链接到新创建的问题的步骤:

  1. 创建模型:首先,在Django的模型文件中定义两个模型,一个是问题模型,另一个是固定选择模型。问题模型用于存储问题的信息,固定选择模型用于存储固定选择的选项。
代码语言:txt
复制
from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
  1. 创建视图:接下来,在Django的视图文件中创建视图函数,用于处理用户提交的问题和固定选择。
代码语言:txt
复制
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect
from django.urls import reverse

from .models import Question, Choice

def create_question(request):
    if request.method == 'POST':
        question_text = request.POST['question_text']
        pub_date = request.POST['pub_date']
        question = Question(question_text=question_text, pub_date=pub_date)
        question.save()
        
        choice_texts = request.POST.getlist('choice_text')
        for choice_text in choice_texts:
            choice = Choice(question=question, choice_text=choice_text)
            choice.save()
        
        return HttpResponseRedirect(reverse('question_detail', args=(question.id,)))
    
    return render(request, 'create_question.html')
  1. 创建模板:然后,在Django的模板文件中创建一个表单,用于用户输入问题和固定选择的选项。
代码语言:txt
复制
<!-- create_question.html -->
<form method="post" action="{% url 'create_question' %}">
  {% csrf_token %}
  <label for="question_text">Question:</label>
  <input type="text" name="question_text" id="question_text">
  <br>
  <label for="pub_date">Publication Date:</label>
  <input type="datetime-local" name="pub_date" id="pub_date">
  <br>
  <label for="choice_text">Choices:</label>
  <input type="text" name="choice_text" id="choice_text">
  <br>
  <input type="submit" value="Create">
</form>
  1. 创建URL映射:最后,在Django的URL配置文件中创建URL映射,将视图函数和模板进行关联。
代码语言:txt
复制
from django.urls import path

from . import views

urlpatterns = [
    path('create/', views.create_question, name='create_question'),
]

这样,当用户访问/create/路径时,将显示一个表单,用户可以输入问题和固定选择的选项。提交表单后,将创建一个新的问题和相应的固定选择,并将用户重定向到问题详情页面。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。关于Django的更多信息和详细文档,请参考腾讯云的Django产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用python搭建一个校园维基网站(二)—— 可编辑内容首页创建

在wagtail概念中,页面模型和模板文件是默认关联HomePage默认对应模板为templates/home/home_page.html(注意命名转换关系),而欢迎页http://127.0.0.1...,只是具体链接可能为外、某个页面或某个文档,占用了三个字段,此外还利用@property装饰器为该模型添加了link属性,来返回它具体链接,这样在模板中就可以使用.link调用。...它有一系列现成layouts供我们使用,选择最适合本次主页样式,查看源码可以得到详细信息,在这里,为了简便,我们直接使用了该layout额外样式表链接(最好处理为本地css样式文件,使用Django...考虑到页脚内容一般比较固定,我们使用snippets和模板标签tag形式来实现。...如下图创建并保存,Root Page选择新创建页面。 ? 最终,访问http://127.0.0.1:8000/ 便可以看到页面效果。 ?

3.6K80

何在Ubuntu 16.04上使用Apache和mod_wsgi为Django应用程序提供服务

在本指南中,我们将演示如何在Python虚拟环境中安装和配置Django。...将Django安装到特定于项目的环境中将允许单独处理您项目及其需求。 一旦我们启动并运行我们应用程序,我们将配置Apache与Django应用程序接口。...调整项目设置 我们应该对新创建项目文件做第一件事就是调整设置。...键入以下内容允许连接到开发服务器: sudo ufw allow 8000 最后,您可以使用以下命令启动Django开发服务器来测试您项目: ....Django通过提供许多常见部分使创建项目和应用程序变得简单,使您可以专注于独特元素。通过利用本文中介绍常规工具,您可以轻松地为从单个服务器创建应用程序提供服务。

2.1K11
  • 何在Debian 10上使用Postgres,Nginx和Gunicorn设置Django

    在本指南中,我们将演示如何在Debian 10上安装和配置某些组件以支持和服务Django应用程序。 我们将设置PostgreSQL数据库,而不是使用默认SQLite数据库。...我们将在虚拟环境中安装Django。 将Django安装到特定于项目的环境中将允许单独处理您项目及其需求。 一旦我们启动并运行了数据库和应用程序,我们将安装和配置Gunicorn应用程序服务器。...connect()到unix:/run/gunicorn.sock失败(13:权限被拒绝) 这表明由于权限问题,Nginx无法连接到Gunicorn套接字。...这表明Django无法连接到Postgres数据库。...通过利用本文中介绍常规工具,您可以轻松地为从单个服务器创建应用程序提供服务。 您可以通过将静态资产(Javascript和CSS)卸载到CDN或对象存储服务来进一步优化此设置。

    5.9K30

    Django Admin 后台发布文章

    在此之前我们完成了 Django 博客首页视图编写,我们希望首页展示发布博客文章列表,但是它却抱怨:暂时还没有发布文章!...它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带 Admin 后台来发布我们博客文章。...然后在相关地方输入一些测试用内容,增加完后点击保存,这样文章就添加完毕了,你也可以多添加几篇看看效果。注意每篇文章必须有一个分类,在添加文章时你可以选择已有分类。...在支持 Markdown 语法部分中将介绍如何在文章中插入图片方法。...如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。 将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。

    2K60

    何在Debian 9上使用Postgres,Nginx和Gunicorn设置Django

    在本教程中,我们将演示如何在Debian 9上安装和配置某些组件以支持和服务Django应用程序。我们将设置PostgreSQL数据库,而不是使用默认SQLite数据库。...我们将在虚拟环境中安装Django。将Django安装到特定于项目的环境中将允许单独处理您项目及其需求。 一旦我们启动并运行了数据库和应用程序,我们将安装和配置Gunicorn应用程序服务器。...~/myprojectdir/myprojectenv/:我们之前创建虚拟环境目录。 调整项目设置 我们应该对新创建项目文件做第一件事就是调整设置。...这表明Django无法连接到Postgres数据库。...通过利用本文中介绍常规工具,您可以轻松地为从单个服务器创建应用程序提供服务。

    6.4K21

    何在Ubuntu 18.04上使用Postgres,Nginx和Gunicorn设置Django

    在本指南中,我们将演示如何在Ubuntu 18.04上安装和配置某些组件以支持和服务Django应用程序。我们将设置PostgreSQL数据库,而不是使用默认SQLite数据库。...将Django安装到特定于项目的环境中将允许单独处理您项目及其需求。 一旦我们启动并运行了数据库和应用程序,我们将安装和配置Gunicorn应用程序服务器。...connect()到unix:/run/gunicorn.sock失败(13:权限被拒绝) 这表明由于权限问题,Nginx无法连接到Gunicorn套接字。...这表明Django无法连接到Postgres数据库。...通过利用本文中介绍常规工具,您可以轻松地为从单个服务器创建应用程序提供服务。 更多Ubuntu教程请前往腾讯云+社区学习更多知识。

    6.5K40

    迅雷远程下载_迅雷下载网页

    107创建文件或写数据失败1.请把移动硬盘接到电脑上修复文件系统错误(在windows上看到移动硬盘图标,右键>属性>工具>开始检测>再选择自动修复文件系统错误) 2.接回盒子继续下载,如果仍失败,删除任务重新创建一次...108写文件失败1.请把移动硬盘接到电脑上修复文件系统错误(在windows上看到移动硬盘图标,右键>属性>工具>开始检测>再选择自动修复文件系统错误) 2.接回盒子继续下载,如果仍失败,删除任务重新创建一次...CID时,读取文件失败错误1.请把移动硬盘接到电脑上修复文件系统错误(在windows上看到移动硬盘图标,右键>属性>工具>开始检测>再选择自动修复文件系统错误) 2.接回盒子继续下载,如果仍失败,删除任务重新创建一次...,若还不行试试重建任务,仍有错误请联系客服 9251http请求异常请重新创建任务,还有问题请联系客服 9262服务不可用请重新创建该任务 9264ssl连接异常请重新创建任务,如果还有错误请联系客服...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.4K20

    何在CentOS 7上使用Postgres,Nginx和Gunicorn设置Django

    在本指南中,我们将演示如何在CentOS 7上安装和配置某些组件以支持和服务Django应用程序。我们将设置PostgreSQL数据库,而不是使用默认SQLite数据库。...将Django安装到特定于项目的环境中将允许单独处理您项目及其需求。 一旦我们启动并运行了数据库和应用程序,我们将安装和配置Gunicorn应用程序服务器。.../manage.py createsuperuser 您必须选择用户名,提供电子邮件地址,然后选择并确认密码。 我们可以通过输入以下内容将所有静态内容收集到我们配置目录位置: ....如果我们在启动时启动它,这将告诉Systemd将此服务链接到何处。...通过利用本文中介绍常规工具,您可以轻松地为从单个服务器创建应用程序提供服务。 更多CentOS教程请前往腾讯云+社区学习更多知识。

    2.3K30

    使用AJAX获取Django后端数据

    根据Django项目的URLconf和视图配置方式,URL可能包含关键字参数或查询字符串,我们希望在视图中使用该参数来选择请求数据。 Headers 设置AJAX请求头参数。...调用之前,请确保从django.http导入JsonResponse。 该视图将返回JsonResponse,该序列将数据字典序列化并将其发送回我们页面,在此页面中将通过链接进行处理。...Credentials 我们需要指定如何在请求中发送凭据。凭证可能很棘手,特别是如果项目的前端和后端分别托管。...Django 3.1及更高版本 在即将发布Django3.1版本(2020年8月)中,request.is_ajax()将被弃用。 这意味着如果我们要检查AJAX请求,则必须自己重新创建功能。...幸运是,Django开发人员确切地告诉我们我们需要做什么。

    7.6K40

    Django 模板中替换 `{{ }}` 包围内容

    本文将详细介绍如何在 Django 模板中安全且有效地实现这一需求,避免与 Django 模板引擎语法冲突。...一、理解 Django 模板引擎与 {{ }} 冲突Django 模板引擎使用 {{ }} 来标记需要替换为变量值地方,:你好,{{ user_name }}!欢迎回来。...在 Django 视图中预先处理占位符如果占位符是固定,你可以选择Django 视图中提前处理好字符串,将最终结果直接传递到模板中。这种方法避免了在客户端进行替换需要,减轻了前端负担。...这种方法适用于占位符较少且替换内容相对固定场景。3....本文通过多种方法和策略,详细介绍了如何在 Django 模板中安全且有效地替换 {{ }} 包围内容。

    12210

    Windows上写 Python 代码王炸组合!

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...为了说明 Visual Studio Code 以项目为中心特征,我们现在开始在 Python 中重新创建调度场算法作为方程式评估库。...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。

    4.9K20

    当然是用官方MS Terminal和VS Code了

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。...你也可以在 VS Code 中将本地提交(local commits)推送到 GitHub。

    4.5K20

    Win 平台做 Python 开发最佳组合:MS Terminal 和 VS Code

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。...你也可以在 VS Code 中将本地提交(local commits)推送到 GitHub。

    4.5K50

    Win 平台做 Python 开发最佳组合

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。...你也可以在 VS Code 中将本地提交(local commits)推送到 GitHub。

    4.3K50

    在 Windows上写 Python 代码最佳组合!

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...为了说明 Visual Studio Code 以项目为中心特征,我们现在开始在 Python 中重新创建调度场算法作为方程式评估库。...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。

    5.2K20

    当然是用官方MS Terminal和VS Code了

    Code 发现并安装 Python 扩展 编写简单 Python 应用程序 了解如何在 VS Code 中运行和调试现有 Python 程序 将 VS Code 连接到 Git 和 GitHub,与全世界分享你代码...如果你有多个 Python 安装( Python 2.7、Python 3.x 或 Anaconda),则可以通过单击语言模式指示器或者从命令面板中选择 Python: Select Interpreter...按 F9 设置断点,或者通过单击编辑器窗口中左空白(lift margin)进行设置。 在开始调试更复杂项目(包括 Django 或 Flask 应用程序)之前,你首先需要设置并选择调试配置。...你还可以执行远程调试,并调试 Jinja 和 Django 模板。关闭编辑器中 launch.json 文件,然后从 Configuration 下拉列表中为应用程序选择正确配置。...你也可以在 VS Code 中将本地提交(local commits)推送到 GitHub。

    4.7K20
    领券