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

民意调查员

民意调查员

简介:我们将使用 Django 创建一个 pollster(投票系统)Web 应用程序。此应用程序将进行一系列问题以及许多选择。用户可以通过选择一个选项来为该问题投票。根据答案,将计算总票数并向用户显示。用户还可以直接在网站上查看特定问题的总投票结果。我们还将构建此项目的 admin 部分。将允许管理员用户在应用程序中添加问题和管理问题

先决条件:了解 Python 和 Django 框架的基础知识。应在系统中安装 Python。Visual Studio Code 或任何代码编辑器来处理应用程序。

项目中使用的技术:Django 框架和 Django 默认附带的 SQLite 数据库。

项目实现

创建项目
第一步

创建空的目录 pollster_project .

第二步 

创建cmd 或者是windows +R
 

第三步

cd进入新创建的目录pollster_project

cd pollster_project

第四步 

建立venv虚拟环境

pip install pipenv
pipenv shell


Step-3: A Pipfile 通过上述步骤,将在您的文件夹中创建一个 Pipfile。现在使用以下命令将 Django 安装到您的文件夹中。

pipenv install django


Step-4: 建立pollster项目

django-admin startproject pollster

将创建一个名为 pollster 的新文件夹。使用以下命令切换到 pollster 文件夹。

cd pollster

目录项目结构

在这里,您可以使用以下命令启动服务器,并检查应用程序是否正在运行,是否在浏览器中使用您的 http://127.0.0.1:8000/。

python manage.py runserver

Step-5: 创建polls

python manage.py startapp polls

下面是在项目中创建 ''polls' 应用程序后的文件夹结构。

polls-app

创建 Models
Step-1: 修改models

 在您的 models.py 文件中编写下面给出的代码以在数据库中创建两个表。一个是 'Question' ,另一个是 'Choice'。“Question”将有两个字段,即“question_text”和一个“pub_date”。Choice 有三个字段:“question”、“choice_text”和 “votes”。每个 Choice 都与一个 Question 相关联。

from django.db import models# Create your models here.class Question(models.Model):        question_text = models.CharField(max_length=200)         pub_date = models.DateTimeField('date published')        def __str__(self):                 return self.question_textclass Choice(models.Model):         question = models.ForeignKey(Question, on_delete=models.CASCADE)         choice_text = models.CharField(max_length=200)         votes = models.IntegerField(default=0)         def __str__(self):                 return self.choice_text
Step-2: 设置settings

转到 settings.py 文件,然后在列表中记下下面的代码INSTALLED_APPS以将应用程序包含在我们的项目中。这将引用 polls -> apps.py -> PollsConfig 类。

INSTALLED_APPS = [         'polls.apps.PollsConfig',         'django.contrib.admin',         'django.contrib.auth',         'django.contrib.contenttypes',         'django.contrib.sessions',         'django.contrib.messages',         'django.contrib.staticfiles',]
Step-3: 创建迁移

我们已经对数据库进行了更改并创建了一些表,但为了反映这些更改,我们需要在此处创建迁移,然后 Django 应用程序将存储对模型的更改。运行下面给出的以下命令以创建迁移。

python manage.py makemigrations polls

  python manage.py migrate

python manage.py makemigrations polls
Migrations for 'polls':polls\migrations\0001_initial.py+ Create model Question+ Create model Choice(.venv) F:\work\toDoProject\todo_site>python manage.py migrate
Operations to perform:Apply all migrations: admin, auth, contenttypes, polls, session
http://www.xdnf.cn/news/694747.html

相关文章:

  • 将 AI 解答转换为 Word 文档
  • [网页五子棋][匹配模块]前后端交互接口(消息推送机制)、客户端开发(匹配页面、匹配功能)
  • Nginx的反向代理
  • 【HW系列】—Log4j2、Fastjson漏洞流量特征
  • Android 16系统源码_无障碍辅助(一)认识无障碍服务
  • 2025.05.28【Choropleth】群体进化学专用图:区域数据可视化
  • WifiEspNow库函数详解
  • 【时时三省】(C语言基础)函数的递归调用例题
  • Flask集成pyotp生成动态口令
  • DeepSeek实战:打造智能数据分析与可视化系统
  • 用 Python 实现了哪些办公自动化
  • canal高可用配置
  • Java开发之定时器学习
  • LVS -DR
  • 每日算法 -【Swift 算法】正则表达式匹配:支持 `.` 和 `*`
  • 如何设计高效的数据湖架构:存储策略、Schema 演进与数据生命周期管理
  • 基于51单片机的音乐盒汽车喇叭调音量proteus仿真
  • 基于Doc2Vec的Markdown文档分类实战:从预处理到模型评估
  • 部署swagger接口文档到云服务器
  • ZooKeeper 命令操作
  • Gin项目脚手架与标配组件
  • 网络协议DHCP
  • YOLO 系列算法的参数量
  • Java大师成长计划之第33天:应用监控与日志管理
  • 顺序表与链表专项训练:在 LeetCode 实战中深化数据结构理解
  • 力扣 秋招 打卡第一天 2025年5月28日 Java
  • Vim 中设置插入模式下输入中文
  • 考研系列-操作系统:第一章、计算机系统概述
  • freecad TechDraw工作台中虚线(隐藏线)的实现方式
  • 桥梁进行3D建模时的数据采集、存储需求及技术参数