本文是根据教程,学习创建一个基本的投票应用程序的过程。
Django是什么?
Django是一个Python Web框架,可以帮助我们快速地建立标准的网站应用。所以先要安装好python。python有一个轻量级数据库SQLite,可以满足基本的数据库应用的需要。
Step1 安装Django
python -m pip install Django
Step 2 创建项目
django-admin startproject mysite 创建一个站点目录mysite
#mysite站点结构
mysite/
manage.py 一个让你用各种方式管理 Django 项目的命令行工具。
mysite/ 目录包含你的项目,它是一个纯 Python 包
_ _init_ _.py 一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包
settings.py Django 项目的配置文件。
urls.py Django 项目的配置文件。
asgi.py 暂且略过
wsgi.py 暂且略过
Step 3 运行服务器
python manage.py runserver
#这是一个简易的Web服务器,用于测试网页效果等。
这个服务器仅用于测试,不能作为服务器使用。
访问地址:http://127.0.0.1:8000/
Step 4 创建投票应用
python 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("Welcome, You're at the polls index.")
这是只有一句话的页面视图。这里只是定义了一个函数index(),还需要将一个URL映射到它
在polls目录下新建一个urls.py
polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name ='index')
]
接下来,要在mysite/urls.py中的urlpatterns列表中插入一个include()
mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlspatterns = [
path('polls/', include('polls.urls'))
path('admin/', admin.site.urls)
]
此时,输入http://localhost:8000/polls/可以看到那行欢迎的文字“Welcome, You're at the polls index.”
配置数据库
在进行数据库配置前,花几分钟关注一下mysite/settings.py这个文件。注意文件中以下这个部分:

INSTALLED_APPS = [ 默认已经包含的Django自带应用
'django.contrib.admin', -管理员站点
'django.contrib.auth', -认证授权系统
'django.contrib.contenttypes', -内容 类型框架
'django.contrib.sessions', -会话框架
'django.contrib.messages', -消息框架
'django.contrib.staticfiles', -管理静态文件的框架
'products.apps.ProductsConfig' -产品配置
]
使用以下命令会给每一个应用都创建一个表
python manage.py migrate
创建模型
polls/models.py
from django.db import models
classQuestion(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)
激活模型
上面创建两个模型,在使用之前要把polls应用安装到项目中
mysite/settings.py
INSTALLED_APPS = [ 默认已经包含的Django自带应用
'polls.apps.PollsConfig', -这是新增加的语句,安装polls应用
'django.contrib.admin', -管理员站点
'django.contrib.auth', -认证授权系统
'django.contrib.contenttypes', -内容 类型框架
'django.contrib.sessions', -会话框架
'django.contrib.messages', -消息框架
'django.contrib.staticfiles', -管理静态文件的框架
'products.apps.ProductsConfig' -产品配置
]
然后运行下面的命令:
python manage.py makemigrations polls
这个命令实际上是创建了SQL语句
然后再生成数据表
python manage.py migrate
网友评论