一、实验目标

通过本教程完成以下目标:

  1. 安装 Python 与 Django 开发环境

  2. 创建 Django 项目

  3. 创建应用(polls 投票系统)

  4. 编写视图与 URL 路由

  5. 创建数据库模型

  6. 进行数据库迁移

  7. 使用 Django Admin 后台管理数据

  8. 编写模板页面

  9. 实现投票功能

  10. 编写简单测试

  11. SimpleUI美化 Django 后台界面

最终完成一个简单的 投票 Web 应用系统


二、环境准备

1 安装 Python

首先确保电脑已经安装 Python。

检查 Python 是否安装成功:

python --version

如果输出类似:

Python 3.x.x

说明安装成功。


2 安装 Django

使用 pip 安装 Django:

pip install django

安装完成后,验证是否安装成功:

python -m django --version

如果输出 Django 版本号,例如:

5.0.3

说明 Django 已经成功安装。

如果出现错误:

No module named django

说明 Django 未安装成功,需要重新执行安装命令。


三、创建 Django 项目

创建项目命令:

django-admin startproject djangotutorial

创建完成后会生成如下目录结构:

djangotutorial/
manage.py
djangotutorial/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py

主要文件说明:

文件 作用
manage.py 项目管理工具
settings.py 项目配置文件
urls.py URL 路由配置
asgi.py / wsgi.py Web服务器接口

四、启动开发服务器

进入项目目录:


cd djangotutorial

启动服务器:

python manage.py runsever

终端会显示:

Starting development server at http://127.0.0.1:8000/

打开浏览器访问:

http://127.0.0.1:8000/

如果看到 Django 火箭页面,说明服务器运行成功。


五、创建投票应用 polls

Django 项目由多个 **应用(App)**组成。

创建应用:

python manage.py startapp polls

创建完成后目录结构如下:

polls/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py

各文件作用:

文件 作用
models.py 定义数据库模型
views.py 处理请求并返回响应
admin.py 管理后台配置
tests.py 测试代码

六、编写第一个视图

打开:

polls/views.py

添加代码:

from django.http import HttpResponse

def index(request):
return HttpResponse("Hello, world. You're at the polls index.")

这个函数就是 视图(View),它会在浏览器访问时返回一段文本。


七、配置 URL 路由

1 创建应用 URL 文件

在 polls 文件夹中新建:

polls/urls.py

内容:

from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='index'),
]


2 修改项目 URL 配置

打开:

djangotutorial/urls.py

修改为:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]


3 测试访问

启动服务器:

python manage.py runserver

访问:http://localhost:8000/polls/

浏览器会显示:


Hello, world. You're at the polls index.

说明视图和 URL 配置成功。


八、创建数据库模型

polls/models.py 中定义两个模型:


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)

模型说明:

Question(问题)

字段 类型
question_text 问题内容
pub_date 发布时间

Choice(选项)

字段 类型
choice_text 选项内容
votes 得票数
question 所属问题

九、激活模型(数据库迁移)

Django 使用 迁移系统 来管理数据库结构。

1 创建迁移文件

python manage.py makemigrations

Django 会检测模型变化并生成迁移文件。


2 查看 SQL

python manage.py sqlmigrate polls 0001

该命令会显示数据库将执行的 SQL 语句。


3 执行迁移

python manage.py migrate

数据库中会创建对应的数据表。


十、使用 Django Shell 测试

进入 Django Shell:

python manage.py shell

可以直接操作数据库,例如:

from polls.models import Question
Question.objects.all()


十一、创建管理员账号

创建管理员:


python manage.py createsuperuser

输入:

  • 用户名

  • 邮箱

  • 密码

创建完成后启动服务器:

python manage.py runserver

访问后台:

http://127.0.0.1:8000/admin/

即可登录后台管理系统。


十二、注册模型到后台

打开:


polls/admin.py

添加:

from django.contrib import admin
from .models import Question

admin.site.register(Question)

刷新后台即可看到 Question 管理界面。


十三、创建模板页面

polls 文件夹创建:

templates/polls/

创建:

index.html

示例内容:

<h1>投票系统</h1>
<ul>
{% for question in latest_question_list %}
<li>{{ question.question_text }}</li>
{% endfor %}
</ul>

Django 会自动查找 templates 目录中的模板文件。


十四、实现投票表单

detail.html 页面中添加 HTML 表单:

<form action="{% url 'polls:vote' question.id %}" method="post">
{% csrf_token %}

{% for choice in question.choice_set.all %}
<input type="radio" name="choice" value="{{ choice.id }}">
{{ choice.choice_text }}<br>
{% endfor %}

<input type="submit" value="Vote">
</form>

这样用户就可以进行投票。


十五、编写测试

Django 提供测试工具:

python manage.py test

测试可以检测:

  • 视图是否正确

  • 数据库是否正常

  • 功能是否正常


十六、安装调试工具

安装调试插件:

pip install django-debug-toolbar

该工具可以帮助开发者分析:

  • SQL 查询

  • 页面性能

  • 请求信息


十七、美化 Django Admin 后台

安装后台主题 SimpleUI

pip install django-simpleui

然后在 settings.py 中修改:

INSTALLED_APPS = [
'simpleui',
'django.contrib.admin',
]

重新启动服务器后,后台界面将变得更加美观。


十八、项目总结

通过本教程完成了:

  1. Django 环境安装

  2. 创建 Django 项目

  3. 创建 polls 应用

  4. 编写视图和 URL 路由

  5. 创建数据库模型

  6. 数据库迁移

  7. 使用 Django Admin 管理数据

  8. 创建模板页面

  9. 实现投票表单功能

  10. 编写测试代码

  11. 优化后台界面

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐