Skip to content

基本使用 ​

文档介绍使用 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.py

3.启动开发服务器 ​

bash
python manage.py runserver

4.创建服务应用 ​

bash
python manage.py startapp app
diff
# 主项目 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收集静态文件(部署时用