从零开始,搭建一个基于 Django 的 Web 项目

🎯 主要步骤概述

1️⃣ 安装 Python 和 pip

2️⃣ 创建虚拟环境

3️⃣ 安装 Django

4️⃣ 创建 Django 项目

5️⃣ 运行开发服务器

6️⃣ 创建一个简单的应用(app)

7️⃣ 配置数据库并迁移

8️⃣ 创建超级用户(admin)

9️⃣ 访问后台管理界面

🔟 编写一个简单的视图和路由,验证页面可访问


1️⃣ 安装 Python 和 pip

Django 是基于 Python 的,你需要先安装好 Python(自带 pip)。

  • Windows/macOS/Linux 都可以去 Python 官网 下载最新版 Python 并安装。

  • 安装时勾选 "Add Python to PATH" 选项(重要!)。

验证是否安装成功:

复制代码
python --version
pip --version

2️⃣ 创建虚拟环境(推荐)

虚拟环境能帮你隔离不同项目依赖,避免冲突。

复制代码
# 在项目根目录创建虚拟环境(venv 是名字,可以随便起)
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate

# macOS/Linux:
source venv/bin/activate

激活后,命令行前面会出现 (venv),表示虚拟环境成功启用。


3️⃣ 安装 Django

在虚拟环境中安装 Django:

复制代码
pip install django

检查版本确认安装成功:

复制代码
django-admin --version

4️⃣ 创建 Django 项目

Django 项目是个整体容器,包含设置、数据库配置、路由等。

复制代码
django-admin startproject mysite

这样会在当前目录下创建一个 mysite 文件夹。


5️⃣ 启动开发服务器

进入项目目录:

复制代码
cd mysite

运行:

复制代码
python manage.py runserver

在浏览器打开 http://127.0.0.1:8000/,你会看到 Django 的欢迎页面,表示项目运行成功!


6️⃣ 创建应用(app)

Django 项目由一个或多个 app 组成。比如博客功能是一个 app,商城功能是另一个 app。

创建 app:

复制代码
python manage.py startapp myapp

然后你会看到多了一个 myapp 文件夹,里面有很多文件(views.pymodels.py 等)。


7️⃣ 配置数据库并迁移

默认情况下,Django 使用 SQLite 数据库。

先迁移数据库(初始化数据库结构):

复制代码
python manage.py migrate

8️⃣ 创建超级用户(后台管理)

Django 自带后台管理界面,非常方便。

复制代码
python manage.py createsuperuser

按提示输入用户名、邮箱和密码。

运行:

复制代码
python manage.py runserver

浏览器访问:http://127.0.0.1:8000/admin/

用刚才的超级用户账号登录,即可进入 Django 的后台管理界面。


9️⃣ 简单视图和路由

修改 myapp/views.py 文件:

复制代码
from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django!")

再修改项目的路由配置(mysite/urls.py):

复制代码
from django.contrib import admin
from django.urls import path
from myapp.views import home  # 导入刚刚的视图

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),  # 根路径访问 home
]

再次访问 http://127.0.0.1:8000/,你会看到 "Hello, Django!"!


🌟 到这里,Django 项目基本框架就搭建好了!🌟

接下来,你可以继续学习:

✅ 模板(HTML 渲染)

✅ 静态文件(CSS/JS)

✅ 数据模型(models)

✅ 表单和用户输入

✅ 部署到服务器(如 Heroku、阿里云)等。

相关推荐
码云骑士8 分钟前
09-Python模块导入机制-sys.path与循环导入的死锁式排查
开发语言·python
研☆香16 分钟前
jQuery特殊属性操作方法
前端·javascript·jquery
ShiJiuD66688899920 分钟前
外卖项目总结下 (前端板块)
前端
天佑木枫25 分钟前
第5天:循环 —— 让程序重复执行
python
聆风吟º25 分钟前
【Python编程日志】Python基础数据类型完整梳理
开发语言·python·数据类型
盼小辉丶28 分钟前
OpenCV-Python实战(28)——OpenCV计算摄影从HDR图像融合到全景拼接
python·opencv·计算机视觉
liming49532 分钟前
Maven中央库迁移
服务器·前端·maven
shchojj40 分钟前
ChatGPT Prompt Engineering for Developers - Expanding
开发语言·python·prompt
俊俊谢1 小时前
【python】FastAPI 实时推送:从 SSE 到 WebSocket
python·websocket·fastapi
stephon_1002 小时前
Agent 接入 MCP 后上下文爆炸、工具选串?一种“按需激活“的工具加载方案(含实现)
人工智能·python·ai