Django项目实战——用户投票系统
Django项目实战——用户投票系统(一)
引入(windows版)
在安装并准备好Django后,我们通过项目开始对Django的运行方式和工作流程作进一步了解。通过官方文档——用户投票系统的学习可以实时并准确的对该领域有进一步的了解,
并且我会通过自己的亲手实验确保每一步的准确性与可操作性
链接附上:
编写你的第一个 Django 应用,第 1 部分 | Django 文档 | Django (djangoproject.com)
在对该项目的逐渐充实下,本阶段将分成4个阶段来完成。
前期准备
创建项目:
第一次使用Django时,需要一些初始化设置。也就是说,你需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置,接下来的工作就是前期的配置环境问题。
-
打开命令行,这里有两个办法:
-
win+R——输入cmd后打开命令行,再
cd
到一个你想放置你代码的目录后运行下列命令。 -
也可以直接在文件管理器中打开至你想放置代码的目录,在搜索栏输入cmd直接跳转到该命令行。
-
-
运行以下命令:
...\> django-admin startproject mysite
这行代码将会在当前目录下创建一个
mysite
目录 -
这里在命名文件夹时注意:
你得避免使用 Python 或 Django 的内部保留字来命名你的项目。具体地说,你得避免使用像
django
(会和 Django 自己产生冲突)或test
(会和 Python 的内置组件产生冲突)这样的名字 -
上述命令创建了该目录:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
以上目录及文件解释:
- 最外层的
mysite/
根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。 manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有manage.py
的细节。(链接均出自官方文档)- 里面一层的
mysite/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如mysite.urls
). mysite/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包mysite/settings.py
:Django 项目的配置文件。如果你想知道这个文件是如何工作的mysite/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”mysite/asgi.py
:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。mysite/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
- 最外层的
简易服务器的开发
-
检验Django的创建——首先在cmd命令行切换至外层的mysite目录,运行下列命令——
...\> py manage.py runserver
输出如下:
按“Ctrl+BREAK”退出。
-
更换端口:
开始创建投票系统
接下来是对前期准备后的文档进行添加内容。
我们将在你的 manage.py
同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite
的子模块。
开始录入
-
确定你现在处于
manage.py
所在的目录下,然后运行这行命令来创建一个应用...\> py manage.py startapp polls
这将会创建一个
polls
目录,它的目录结构大致如下:polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
这个目录结构包括了投票应用的全部内容。
-
编写第一个视图
打开
polls/views.py
输入如下代码:from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.")
为了看见视图的效果——需要将URL映射至该目录
此时就需要URLconf:
为了创建 URLconf,请在 polls 目录里新建一个
urls.py
文件。此时的应用目录为:
在
polls/urls.py
中,输入如下代码:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
下一步是要在根 URLconf 文件中指定我们创建的
polls.urls
模块。在mysite/urls.py
文件的urlpatterns
列表里插入一个include()
, 如下:from django.contrib import admin from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]
验证是否正常工作:
...\> py manage.py runserver
用你的浏览器访问http://localhost:8000/polls/,你应该能够看见 “Hello, world. You’re at the polls index.” ,这是你在
index
视图中定义的。函数path()的解释:
预告
在该框架下,一个服务器一个网站的页面将如何搭建,python的shell如何与Django结合尽在下集——项目实战(二)数据库的建立与模型创建