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

从零开始,搭建一个基于 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.py、models.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 HttpResponsedef 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、阿里云)等。

相关文章:

  • electron定时任务,打印内存占用情况
  • Electron 桌面商城开发:攻克多窗口通信、本地存储与内存泄漏实战
  • DashBoard安装使用
  • new操作符具体做了什么
  • 3-10单元格行、列号获取(实例:表格选与维度转换)学习笔记
  • 使用nginx配置反向代理,负载均衡
  • 一周学会Pandas2之Python数据处理与分析-Pandas2数据绘图与可视化
  • pip安装python第三方库报错
  • ​库存周转战争:用数据驱动取代经验主义,让资金活起来​
  • Impromptu VLA:用于驾驶视觉-语言-动作模型的开放权重和开放数据
  • virtualbox安装扩展工具以支持共享文件夹
  • Go基础|map入门
  • 代码训练LeetCode(19)轮转数组
  • Prj09--8088单板机C语言8253产生1KHz方波(1)
  • 【Java Web】7.事务管理AOP
  • LeetCode - 144. 二叉树的前序遍历
  • C#学习12——预处理
  • 【PmHub面试篇】Gateway全局过滤器统计接口调用耗时面试要点解析
  • # 将本地UI生成器从VLLM迁移到DeepSeek API的完整指南
  • 【深入 LangChain 的 Model I/O】提示设计、模型调用与输出解析全解析
  • 做那个网站的图客比较好/郑州高端网站建设哪家好
  • 网站开发签呈如何写/西安网站制作价格
  • 手机网站支持微信支付吗/寄生虫seo教程
  • 风铃网站具体是做那方面的/优化关键词排名哪家好
  • 做网站如何处理并发问题/长春关键词优化公司
  • wordpress插件 漏洞/济南seo网站优化公司