Django后台搭建

搭建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后台,后续可根据需求扩展功能,如添加认证系统、缓存、消息队列等。
技术
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论