基本使用
文档介绍使用 Django 版本 5.2.8 官方文档
1.安装
推荐虚拟环境安装 本项目全部依赖requirements.txt👇
txt
asgiref==3.11.0
Django==5.2.8
django-cors-headers==4.9.0
djangorestframework==3.16.1
PyMySQL==1.1.2
sqlparse==0.5.4
tzdata==2025.2不使用虚拟环境以上忽略👆
shell
pip install django验证安装
django-admin --version
2.创建项目
bash
django-admin startproject server my-project生成目录结构如下
text
my-project/
manage.py
server/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py3.启动开发服务器
bash
python manage.py runserver4.创建服务应用
bash
python manage.py startapp appdiff
# 主项目 server/settings.py 在 INSTALLED_APPS 添加
INSTALLED_APPS = [
+ 'app.apps.AppConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]5.编写视图
编辑 app/views.py
python
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the app index.")6.配置URL路由
python
# 创建app/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
# 在主项目 server/urls.py 中包含应用的路由 server/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('app/', include('app.urls')),
path('admin/', admin.site.urls),
]7.使用模板(Template)
- 在 app 目录下创建 templates/app/index.html:
html
<!-- app/templates/app/index.html -->
<h1>{{ message }}</h1>- 修改视图
python
from django.shortcuts import render
def index(request):
context = {'message': 'Welcome to app!'}
return render(request, 'app/index.html', context)如果访问报错请查看是否配置 INSTALLED_APPS 任意门
8.模型(model)与数据库
- 定义模型(app/models.py)
python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')bash
# 1. 创建迁移文件
python manage.py makemigrations app
# 2. 应用迁移(同步到数据库)
python manage.py migrate(可选) 使用MySQL数据库 默认SQLLite
python
# 主目录 server/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxxx',
'USER': 'xxxx',
'PASSWORD': 'xxxx',
'HOST': '127.0.0.1',
'PORT': '3306',
'CONN_MAX_AGE': 60, # 连接复用时间
'OPTIONS': {
'charset': 'utf8mb4',
'init_command': "SET NAMES 'utf8mb4'",
}
}
}因缺少MySQL依赖包 报错后按需安装 本文档安装 PyMySQL==1.1.2
9.创建超级用户
bash
python manage.py createsuperuser- 注册模型到 admin(app/admin.py)
python
from django.contrib import admin
from .models import Question
admin.site.register(Question)manage.py 常用命令
| 命令 | 说明 |
|---|---|
| python manage.py runserver | 启动开发服务器 |
| python manage.py startapp appname | 创建新应用 |
| python manage.py makemigrations | 生成数据库迁移文件 |
| python manage.py migrate | 应用数据库迁移 |
| python manage.py createsuperuser | 创建超级用户 |
| python manage.py shell | 进入 Django 交互 shell |
| python manage.py collectstatic | 收集静态文件(部署时用 |