跳转至

Django 简要学习文档

安装

删除旧版本

$ python -c "import django; print(django.__path__)"

安装

# Django2 不支持 python2
$ pip3 install Django

验证

1
2
3
4
5
6
>>> import django
>>> print(django.get_version())
2.0
# 或者
$ python -m django --version
2.0

创建项目

第一步 出生

创建项目

    $ django-admin startproject mysite
    ...

目录结构

1
2
3
4
5
6
7
    mysite/
        manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

启动开发服务器

启动开发服务器

    $ python manage.py runserver 10.11.14.19:9701

配置 Nginx

    upstream  py-apidev  {
        server 10.11.14.19:9701;
    }

    server {
        listen  80;
        server_name py-apidev.test.com;
        ...
        location / {
            ...
            proxy_pass http://py-apidev;
            ...
        }
    }

配置允许域名

    $ vim settings.py
1
2
3
4
    ALLOWED_HOSTS = [
        'py-apidev.test.com',
        'py-api.test.com'
    ]

创建Polls应用

    $ python manage.py startapp polls
    ...

目录结构

1
2
3
4
5
6
7
8
9
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

编辑视图 polls/views.py

1
2
3
4
    from django.http import HttpResponse

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

应用路由:polls/urls.py

1
2
3
4
5
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.index, name='index'),
    ]

入口路由:mysite/urls.py

1
2
3
4
5
6
7
    from django.urls import include, path
    from django.contrib import admin

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

path 参数

path() argument: route
path() argument: view
path() argument: kwargs
path() argument: name

第二步 数据库

第三步 视图

第四步 表单

第五步 自动测试

第六步 样式和图片

第七步 管理