Django 项目开发整体步骤-基础版
1. 环境准备
# Linux / Mac
mkdir django_demo
cd django_demopython3 -m venv myenv
source myenv/bin/activate# Windows
python -m venv myenv
myenv\Scripts\activatepip install django
python -m django --version #如果显示版本号,说明安装成功。pip install mysqlclient
pip install psycopg2-binary2. 创建 Django 项目
django-admin startproject mysite #项目名叫 mysite#执行后,目录结构如下:
django_demo/
└── mysite/├── manage.py #管理项目的命令入口(运行、迁移、创建 app 等)├── mysite/│ ├── __init__.py│ ├── asgi.py #部署入口(生产环境使用)│ ├── settings.py #项目配置文件(数据库、应用、时区等)│ ├── urls.py #项目主路由配置│ └── wsgi.py #部署入口(生产环境使用)
mysite/settings.py)(数据库、时区、静态文件路径等)。# 修改时区为中国
TIME_ZONE = 'Asia/Shanghai'# 修改语言为中文
LANGUAGE_CODE = 'zh-hans'# 允许所有本地访问
ALLOWED_HOSTS = ['*']
cd mysite
python manage.py runserver
python manage.py runserver 0.0.0.0:8000#终端显示:
Starting development server at http://127.0.0.1:8000/3. 创建应用(App)
Django 的项目通常由多个 App(应用) 组成,每个 App 都是一个独立的功能模块,例如:
goods/ 商品模块(商品信息); orders/ 订单模块(下单、查看订单)
python manage.py startapp goods
python manage.py startapp orders#目录结构会变成这样
mysite/
├── manage.py
├── mysite/
└── goods 和 orders/├── __init__.py├── admin.py├── apps.py├── migrations/│ └── __init__.py├── models.py├── tests.py└── views.py

4. 设计模型(Models)
goods/models.py)。from django.db import modelsclass Goods(models.Model):name = models.CharField(max_length=100, verbose_name="商品名称")price = models.DecimalField(max_digits=8, decimal_places=2, verbose_name="价格")stock = models.IntegerField(default=0, verbose_name="库存")create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")def __str__(self):return self.nameclass Meta:verbose_name = "商品"verbose_name_plural = "商品"
python manage.py makemigrations
python manage.py migrate5. 管理后台(Admin)
from django.contrib import admin
from .models import Goods@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):list_display = ('id', 'name', 'price', 'stock', 'create_time')
python manage.py createsuperuser

6. 创建视图(Views)
from django.shortcuts import render
from .models import Goodsdef goods_list(request):goods = Goods.objects.all() # 查询所有商品return render(request, 'goods/list.html', {'goods': goods})7. 配置 URL 路由(URLs)
from django.contrib import admin
from django.urls import path, include # include 本来没有的urlpatterns = [path('admin/', admin.site.urls),path('goods/', include('blog.goods')), # 引入 goods 应用的路由
]from django.urls import path
from . import viewsurlpatterns = [path('', views.index, name='index'), #默认走这里path('goods_list/', views.goods_list, name='goods_list'), # 商品列表页# 以后可以扩展其他路径,比如:# path('detail/<int:goods_id>/', views.goods_detail, name='goods_detail')
]8. 模板和静态文件
# 在 mysite/settings.py 中,找到 TEMPLATES 配置:
TEMPLATES = [{...'DIRS': [BASE_DIR / "templates"], # 新增这一行,统一存放模板文件...},
]#根目录执行,就是跟manage.py 同级的目录
mkdir templates
mkdir templates/goods<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>商品列表</title>
</head>
<body><h1>商品列表</h1><ul>{% for item in goods %}<li>{{ item.name }} - ¥{{ item.price }} - 库存: {{ item.stock }}<a href="{% url 'orders:create_order' item.id %}">购买</a></li>{% empty %}<li>暂无商品</li>{% endfor %}</ul>
</body>
</html>
