美文网首页
开发一个Django网站的过程 ( 一 )

开发一个Django网站的过程 ( 一 )

作者: 搬布 | 来源:发表于2020-03-06 20:22 被阅读0次

本文是根据教程,学习创建一个基本的投票应用程序的过程。

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这个文件。注意文件中以下这个部分:


image.png
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

相关文章

网友评论

      本文标题:开发一个Django网站的过程 ( 一 )

      本文链接:https://www.haomeiwen.com/subject/ptiwrhtx.html