搭建Django后台可按以下步骤操作,从环境搭建到项目落地,逐步实现基础框架:
一、环境准备
1. 安装Python(推荐3.8+版本),可通过官网下载对应系统的安装包,安装时勾选“Add to PATH”。
2. 创建虚拟环境(可选但推荐,避免依赖冲突):
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python -m venv venv
source venv/bin/activate
3. 安装Django:
pip install django
二、创建Django项目
1. 初始化项目:
django-admin startproject mybackend # mybackend为项目名,可自定义
生成的项目结构如下:
mybackend/
├── manage.py # 项目管理脚本
├── mybackend/ # 项目配置目录
│ ├── __init__.py
│ ├── settings.py # 项目配置文件
│ ├── urls.py # 路由配置
│ └── asgi.py/wsgi.py # 服务器接口
2. 启动开发服务器(测试是否成功):
cd mybackend
python manage.py runserver
访问 http://127.0.0.1:8000/ ,看到Django默认页面即成功。
三、创建应用(App)
Django中“应用”是功能模块,比如用户系统、文章管理等:
1. 创建应用:
python manage.py startapp users # users为应用名,可按功能命名
应用结构示例:
users/
├── __init__.py
├── models.py # 数据模型
├── views.py # 视图逻辑
├── urls.py # 应用路由(可选,后期可拆分)
└── admin.py # 后台管理配置
2. 注册应用:
打开 mybackend/settings.py ,在 INSTALLED_APPS 中添加应用名:
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
# 其他默认应用…
‘users’, # 添加新建的应用
]
四、配置数据库(以MySQL为例)
1. 安装依赖:
pip install mysqlclient # 或 pymysql(若用pymysql需在项目__init__.py中添加:import pymysql; pymysql.install_as_MySQLdb())
2. 修改配置:
在 settings.py 中修改数据库配置:
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘mybackend_db’, # 数据库名
‘USER’: ‘root’, # 用户名
‘PASSWORD’: ‘your_password’, # 密码
‘HOST’: ‘localhost’, # 主机
‘PORT’: ‘3306’, # 端口
}
}
3. 迁移数据库:
python manage.py makemigrations # 生成迁移文件
python manage.py migrate # 执行迁移,创建默认表
五、创建数据模型(Models)
在 users/models.py 中定义数据结构,例如用户模型:
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
phone = models.CharField(max_length=11, unique=True, verbose_name=’手机号’)
avatar = models.ImageField(upload_to=’avatars/’, null=True, blank=True, verbose_name=’头像’)
created_at = models.DateTimeField(auto_now_add=True, verbose_name=’创建时间’)
class Meta:
verbose_name = ‘用户’
verbose_name_plural = verbose_name
def __str__(self):
return self.username
定义后需执行迁移:
python manage.py makemigrations users
python manage.py migrate
六、配置后台管理(Admin)
1. 创建超级用户:
python manage.py createsuperuser
按提示输入用户名、邮箱、密码。
2. 注册模型到Admin:
在 users/admin.py 中注册模型,使其可在后台管理:
from django.contrib import admin
from .models import User
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
list_display = (‘id’, ‘username’, ‘phone’, ‘is_staff’, ‘created_at’) # 列表显示字段
search_fields = (‘username’, ‘phone’) # 搜索字段
list_filter = (‘is_staff’, ‘is_active’) # 筛选字段
3. 访问后台:
启动服务器后访问 http://127.0.0.1:8000/admin/ ,用超级用户账号登录,即可管理数据。
七、创建API接口(可选,若需前后端分离)
若需开发API,可使用Django REST Framework(DRF):
1. 安装DRF:
pip install djangorestframework
2. 注册应用:在 settings.py 的 INSTALLED_APPS 中添加 ‘rest_framework’ 。
3. 编写视图和序列化器(以用户API为例):
– 在 users/serializers.py 中定义序列化器:
from rest_framework import serializers
from .models import User
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (‘id’, ‘username’, ‘phone’, ‘avatar’, ‘created_at’)
– 在 users/views.py 中定义API视图:
from rest_framework import viewsets
from .models import User
from .serializers import UserSerializer
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
– 在 users/urls.py 中配置路由:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import UserViewSet
router = DefaultRouter()
router.register(‘users’, UserViewSet)
urlpatterns = [
path(”, include(router.urls)),
]
– 在项目 urls.py 中引入应用路由:
from django.urls import path, include
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘api/’, include(‘users.urls’)), # API前缀
]
八、部署准备
1. 配置生产环境:
– 在 settings.py 中修改 DEBUG = False ,设置 ALLOWED_HOSTS = [‘your_domain.com’] 。
– 配置静态文件存储(如使用OSS或本地路径):
STATIC_URL = ‘/static/’
STATIC_ROOT = os.path.join(BASE_DIR, ‘static’) # 收集静态文件的目录
MEDIA_URL = ‘/media/’
MEDIA_ROOT = os.path.join(BASE_DIR, ‘media’) # 上传文件的存储目录
– 执行 python manage.py collectstatic 收集静态文件。
2. 选择部署方式:
– Docker部署:编写 Dockerfile 和 docker-compose.yml ,打包应用和依赖。
– 服务器部署:使用Gunicorn+Nginx,例如:
pip install gunicorn # 安装服务器
# 启动命令(生产环境需配合supervisor管理进程)
gunicorn mybackend.wsgi:application -b 0.0.0.0:8000
九、项目结构优化(进阶)
– 分环境配置:在 settings/ 目录下创建 dev.py (开发环境)和 prod.py (生产环境),通过 DJANGO_SETTINGS_MODULE 环境变量切换。
– 拆分应用:按功能模块(用户、文章、订单等)创建多个App,提升可维护性。
- 通过以上步骤,可快速搭建一个基础的Django后台,后续可根据需求扩展功能,如添加认证系统、缓存、消息队列等。