美文网首页
Django -- Polls - Part 1

Django -- Polls - Part 1

作者: liaozb1996 | 来源:发表于2018-03-19 17:09 被阅读0次
  • 创建项目结构
  • 创建 APP -- Polls 结构
  • 创建视图 View
  • 配置/声明 URL -- URLconf

投票系统

该网站包括两部分:

  • 公共站点:展示内容和进行投票
  • 管理后台:添加/修改/删除投票内容

创建项目

$ mkdir polls_website
$ cd polls_website/
$ pipenv --three install Django
$ pipenv shell
$ django-admin startproject mysite

项目的名字不能是 django ( 和django 本身冲突) 或 test (和 python 模块冲突)

不能将项目的代码放在web服务的根目录 /var/www

目录结构

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
  • manage.py : 管理项目的工具
  • settings.py:项目的配置文件
  • urls.py:URL声明文件,将URL与视图函数关联起来
  • wsgi.py:配置 Django 与 Web Server 之间的 WSGI 接口

Development Server

$ cd mysite/
$ python manage.py runserver
Django

Django 自带的测试Web服务器仅适用于开发过程,不适用于生产环境

更多参数:默认监听 127.0.0.1:8000

$ python manage.py runserver 8080 # 修改监听端口
$ python manage.py runserver 0:8080 # 监听所有网卡,相当于 0.0.0.0:8080

测试服务器会自动重新载入修改的 Python 文件;但当新创建文件时,还是要重启测试服务器,才能生效

创建 APP

在项目的根目录下创建APP

$ ls
db.sqlite3  manage.py  mysite

$ python manage.py startapp polls

注意,在项目的根目录下创建APP,使 polls 和 mysite 成为两个独立的 Python Package:这样,导入时可以使用 import polls ,而不是 import mysite.polls

Project 和 APP

项目相当于整个网站,而项目由多个APP构成,每个APP实现独立的功能(博客系统,评论系统,支付系统);APP可以重用于其他项目中

创建视图

# polls/views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello World -- Polls")

声明 URL

#新建 polls/urls.py -- URLconf

from django.urls import path

from . import views

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

# mysite/urls.py -- root URLconf

from django.contrib import admin
from django.urls import path, include  # 导入include

urlpatterns = [
    path('polls/', include('polls.urls')),  # 指向 polls/urls.py
    path('admin/', admin.site.urls),
]
Polls

root URLconf 会把匹配到的 URL 部分去掉,并将剩余部分传给指定的 URLconf


URLconf
  • incldue():用于 root URLconf 指向其他 URLconf
  • path()path() 接受四个参数:route, view 和两个可选 kwargs, name

path() 参数

  • route: 定义要匹配的URL(除去域名),在 urlpatterns 从上到下匹配
  • view:调用对应的 view 函数,并传给函数第一个参数 HttpRequest (可用于获取请求信息,GET,POST 数据等)
  • kwargs:将键值对以字典形式传给 view 函数
  • name:给URL命名,然后可以在模板用 name 引用 URL

相关文章

  • Django -- Polls - Part 1

    创建项目结构 创建 APP -- Polls 结构 创建视图 View 配置/声明 URL -- URLconf ...

  • Django -- Polls - Part 2

    数据库配置 创建 Model Django Admin 本节包含的内容较多:Polls - Part 2 数据库配...

  • Django -- Polls - Part 3

    URL dispatcher View 视图 通过Python函数(或一个类的方法)来生成一个页面;可能会涉及通过...

  • Django -- Polls - Part 4

    Form 如果是从服务器获取信息,使用 GET;如果是要从服务器修改信息,使用 POST;发生敏感信息,使用 PO...

  • Django -- Polls - Part 7

    定制 Django Admin 步骤: 创建 admin.ModelAdmin 将子类作为 admin.site....

  • Django -- Polls - Part 6

    Django 渲染一个页面所需的图片,CSS, Javascript 称为静态文件 CSS 在APP下创建目录:p...

  • Django study

    [TOC] Django study creating a project 调试 demo-the Polls a...

  • Django学习笔记(二)

    1. 创建数据模型 polls/models.py from django.db import models cl...

  • django入门基础指令

    安装django指令 新建项目(名称为mysite) 运行django项目 创建应用(名称为polls) 为应用生...

  • Django学习笔记(三)

    1. 列表显示数据模型的字段 polls/models.py from django.db import mode...

网友评论

      本文标题:Django -- Polls - Part 1

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