创建项目
输入创建命令
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):