Django顺序(自看)

454 阅读2分钟

创建项目

输入创建命令

django-admin startproject myblog

设置中文及时区

修改根目录settings.py文件:

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
...
USE_TZ = False

配置jinja2

jinja2 中url格式 及静态文件格式
{{ url ('project:index', args=(id, )) }}
{{ static ('jquery-3.6.0/jquery-3.6.0.min.js') }}

修改根目录settings.py文件: 模板放在jinja2中

TEMPLATES = [
    #jinja2
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'DIRS': ['project/templates',],
        'APP_DIRS': True,
        'OPTIONS': {
            'environment': 'dzpms.jinja2.environment',
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
    #默认模板
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['',],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

project主目录下新建文件jinja.py:

from django.templatetags.static import static
from django.urls import reverse

from jinja2 import Environment


def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': static,
        'url': reverse,
    })
    return env

添加模板目录及静态目录

修改根目录settings.py文件:

TEMPLATES = [
    {
        ...
        'DIRS': ['项目名称/templates',],
        ...
    },
]

STATICFILES_DIRS = [
    BASE_DIR / "static",
    ' 项目名称 /static',
]

后台管理

创建管理员账号(Superuser)

python manage.py createsuperuser

1. 创建app并配置APP功能模块

创建App

django-admin startapp article

注册APP(settings)

打开myblog的settings.py,找到INSTALLED_APPS添加app:

settings.py/

INSTALLED_APPS = [
    # 其他代码
    ...

    # 新增'article'代码,激活app
    'app',
]

配置访问路径(urls)

1 配置 project/url.py

在根 URLconf 文件中指定我们创建的 app.urls 模块。
主目录下urls.py文件的 urlpatterns 列表里插入一个 include(), 如下:

urls.py/

from django.contrib import admin
# 记得引入include
from django.urls import path, include

urlpatterns = [
    ...
    # 新增代码,配置app的url
    path('app/', include('app.urls', namespace='app')),
]

2 配置apps/urls.py

在 app/文件夹中创建urls.py,输入:

article/urls.py

# 引入path
from django.urls import path

# 正在部署的应用的名称
app_name = 'app'

urlpatterns = [
    # 目前还没有urls
]

2. 编写Model模型

1 编写Model

2 数据迁移

输入 python manage.py makemigrations ,对模型的更改创建新的迁移表。

然后输入python manage.py migrate,应用迁移到数据库中。

3 模型添加到后台(可选)

注册app模型到后台中

打开app/admin.py,写入以下代码:

app/admin.py

from django.contrib import admin

# 别忘了导入模型
from .models import Model

# 注册 模型 到admin中
admin.site.register(Model)

3. 编写View视图

1 def视图函数

视图函数命名规范:小写加下划线。
例:def current_datetime(request):

2 配置URLconfs

3 改写视图函数

4 编写模板(template)