当前位置: 首页 > news >正文

Django 项目开发整体步骤(0 开始)

Django 项目开发整体步骤-基础版


1. 环境准备

   - 安装 Python(推荐 3.10+)。
   - 创建虚拟环境(venv 或 virtualenv)。
# Linux / Mac
mkdir django_demo
cd django_demopython3 -m venv myenv
source myenv/bin/activate# Windows
python -m venv myenv
myenv\Scripts\activate
   - 安装 Django(pip install django)。
pip install django
python -m django --version #如果显示版本号,说明安装成功。
   - 安装其他可能用到的依赖(如数据库驱动 mysqlclient、psycopg2 等)。
pip install mysqlclient
pip install psycopg2-binary

2. 创建 Django 项目

   - 使用 django-admin startproject <project_name> 创建项目骨架。
django-admin startproject mysite #项目名叫 mysite#执行后,目录结构如下:
django_demo/
└── mysite/├── manage.py #管理项目的命令入口(运行、迁移、创建 app 等)├── mysite/│   ├── __init__.py│   ├── asgi.py		#部署入口(生产环境使用)│   ├── settings.py #项目配置文件(数据库、应用、时区等)│   ├── urls.py 	#项目主路由配置│   └── wsgi.py 	#部署入口(生产环境使用)
   - 配置 settings.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)

   - 使用 python manage.py startapp <app_name> 创建应用。

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

   - 在 settings.py(mysite/settings.py) 中 INSTALLED_APPS  注册应用。

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 migrate 创建表。
python manage.py makemigrations
python manage.py migrate

5. 管理后台(Admin)

   - 在 admin.py{} 注册模型,方便后台管理数据。  goods/admin.py
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
 重启测试效果,通过界面添加商品和订单:【需要先按照第7步 配置一下路由】


6. 创建视图(Views)

   - 使用函数视图(Function-Based View)或类视图(Class-Based View)。
   - 编写业务逻辑,获取数据、处理请求。
    goods/views.py , Function-Based View 示例
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)

   - 在项目主路由(mysite/urls.py)中引入应用路由。
from django.contrib import admin
from django.urls import path, include # include 本来没有的urlpatterns = [path('admin/', admin.site.urls),path('goods/', include('blog.goods')),  # 引入 goods 应用的路由
]
   - 在应用内 urls.py 配置路由。
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
   - 编写 HTML 文件,配置静态文件(CSS、JS、图片等)。
    templates/goods/list.html
<!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>
测试效果:


进阶

9. 表单和数据验证

   - 使用 Django Form 或 ModelForm 处理表单输入。
   - 数据验证和错误提示。




10. 用户认证与权限
    - 使用 Django 自带的 auth 系统。
    - 注册、登录、登出、权限管理。

11. 调试与测试
    - 使用 Django 内置开发服务器 python manage.py runserver 调试。
    - 编写单元测试(tests.py)。
    - 查看日志、处理报错。

12. 部署与上线
    - 配置 WSGI/ASGI(如 Gunicorn + Nginx)。
    - 配置数据库(生产环境 MySQL/PostgreSQL)。
    - 收集静态文件(python manage.py collectstatic)。
    - 配置安全设置(DEBUG=False、ALLOWED_HOSTS 等)。







http://www.jsqmd.com/news/30489/

相关文章:

  • [GDB] cgdb: GDB 可视化工具
  • Maya 2025软件超详细下载安装教程(附安装包和激活步骤)
  • AI元人文构想:基于价值原语和三值纠缠的权衡
  • 一款基于 .NET WinForm 开源、轻量且功能强大的节点编辑器,采用纯 GDI+ 绘制无任何依赖库仅仅100+Kb!
  • 10-31 题
  • Windows install MiniConda3
  • 109.Redis的geospatial和XXL-JOB 分布式任务调度平台整理
  • 我的神奇题目
  • STM32学习之概念——仿真器、调试器、下载器
  • 洛谷 P3273
  • docker compose.yaml配置
  • A39C-T400A22D1a Lora通讯模块的命令配置示例记录
  • 好久没来了
  • 【入门】使用Node.js开发一个MCP服务器
  • Multisim保姆级图文下载安装教程包含下载、安装、汉化、激活
  • AgenticSeek:完全本地的AI助手,保护隐私的智能代理
  • CSP-S 2025 题解
  • Day30-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\annotation\Proxy
  • JMeter生包
  • 洛谷 P11190
  • linux报错
  • 20251103 - 折半搜索 总结
  • 高级语言程序设计作业3
  • NPI
  • P14359 [CSP-J 2025 T3] 异或和 ← 前缀异或和
  • Edge插件导入到chrome浏览器
  • [CSP 2025]游记
  • CF Pinely Round 5(#2161) 总结
  • 第14天(中等题 滑动窗口、哈希表)
  • 寂静处的回响