这篇文章的核心内容是关于如何从零开始创建一个 Django 项目,包括环境准备、项目搭建、数据库配置、模型定义、管理后台配置以及接口开发等步骤。
确保安装了 Python(推荐 3.8 或更高版本)和 pip 包管理工具。
如果需要使用 MySQL 或 PostgreSQL,确保数据库已安装。
创建虚拟环境以隔离项目依赖:
python -m venv env
source env/bin/activate # Linux/Mac
env\Scripts\activate # Windows
无法加载文件 \env\Scripts\Activate.ps1,因为在此系统上禁止运行脚本,修改Powershell运行限制。输入如下命令:Set-ExecutionPolicy RemoteSigned
& 'E:\python\env\Scripts\Activate.ps1'
进入虚拟环境
安装 Django:
pip install django
如果使用 MySQL 或 PostgreSQL,安装对应驱动:
pip install mysqlclient # MySQL
pip install psycopg2-binary # PostgreSQL
使用 django-admin 创建项目:
django-admin startproject myproject
项目结构:
myproject/ manage.py myproject/ settings.py urls.py asgi.py wsgi.py
修改 settings.py 中的 DATABASES 配置:
SQLite(默认):
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', }}
MySQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'your_database_name', 'USER': 'your_database_user', 'PASSWORD': 'your_database_password', 'HOST': 'localhost', 'PORT': '3306', }}
PostgreSQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'your_database_name', 'USER': 'your_database_user', 'PASSWORD': 'your_database_password', 'HOST': 'localhost', 'PORT': '5432', }}
创建应用:
python manage.py startapp myapp
应用结构:
myapp/ migrations/ __init__.py admin.py apps.py models.py tests.py views.py
在 settings.py 的 INSTALLED_APPS 中添加应用:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # 添加你的应用]
定义模型(models.py):
class Lesson(models.Model): id = models.CharField(max_length=20, primary_key=True) name = models.CharField(max_length=50)
生成迁移文件:
python manage.py makemigrations
应用迁移文件:
python manage.py migrate
启动开发服务器:
python manage.py runserver
访问 http://127.0.0.1:8000/。
在 admin.py 中注册模型:
from django.contrib import admin
from .models import Lesson
admin.site.register(Lesson)
创建超级用户:
python manage.py createsuperuser
访问管理后台:http://127.0.0.1:8000/admin。
使用 python manage.py shell 操作数据库:
from myapp.models import Lesson Lesson.objects.create(id='1', name='Django Basics') Lesson.objects.get(id='1')
定义视图(views.py):
from django.http import JsonResponsefrom .models import Userdef get_all_users(request): users = User.objects.all().values('id', 'username', 'password', 'status') return JsonResponse({'status': 'success', 'data': list(users)})
配置 URL 路由(urls.py):
from django.urls import pathfrom .views import get_all_users urlpatterns = [ path('users/', get_all_users, name='get_all_users'),]
Django ORM 提供了抽象层,无需直接书写 SQL 代码。
例如:
users = User.objects.all()
使用 raw() 方法或 connection.cursor() 执行复杂查询:
users = User.objects.raw("SELECT id, username, password, status FROM users")
从零创建 Django 项目的核心流程包括:
安装 Django 和数据库驱动。
配置数据库连接。
创建应用和模型。
生成并应用迁移文件。
运行开发服务器。
使用管理后台和编写接口。
Django 项目支持模块化开发,可以通过 startapp 创建多个应用。
每个应用包含 models.py、views.py、admin.py 等文件,用于定义数据模型、视图函数和管理后台配置。