进阶向:Django入门,从零开始构建一个Web应用
一、Django是什么?
想象你建房子需要砖头、水泥、设计图... Django就是Python的Web框架工具箱,它帮你准备好了:
数据库管理
用户登录系统
网页模板引擎
安全防护(防黑客攻击)
你只需专注"盖房子"(业务逻辑),不用从烧砖开始!
二、环境准备(5分钟搞定)
-
安装Python
-
官网下载Python 3.8+:python.org
-
安装时勾选
Add Python to PATH
-
-
安装Django
打开命令行(Windows按Win+R
输入cmd
):pip install django
验证安装:
django-admin --version # 看到版本号(如4.2)即成功
三、创建第一个Django项目
-
生成项目骨架
django-admin startproject myblog # 创建名为myblog的项目 cd myblog # 进入项目目录
目录结构解密
myblog/ │ ├── manage.py # 项目管理工具(启动/迁移等) │ └── myblog/ # 项目核心目录 ├── __init__.py ├── settings.py # 全局配置(数据库/时区等) ├── urls.py # 网址路由中心 └── wsgi.py # 部署用
启动开发服务器
python manage.py runserver
访问 http://127.0.0.1:8000 → 看到火箭页面即成功!🎉
四、创建博客应用(App)
项目 vs 应用
项目 = 整个网站(如"京东商城")
应用 = 独立功能模块(如"用户系统"、"商品系统")
-
创建blog应用
python manage.py startapp blog
注册应用到项目
编辑myblog/settings.py
:INSTALLED_APPS = [ ... 'blog.apps.BlogConfig', # 添加这一行 ]
五、MVT模式实战(Django核心!)
MVT = Model + View + Template
类比点餐:
-
Model:菜单数据库(存储数据)
-
View:服务员(处理你的请求)
-
Template:摆盘的菜品(展示页面)
1. Model:定义博客文章
编辑 blog/models.py
:
from django.db import models class Article(models.Model): title = models.CharField(max_length=100) # 标题 content = models.TextField() # 内容 created_at = models.DateTimeField(auto_now_add=True) # 创建时间 def __str__(self): return self.title # 后台显示标题
2. 生成数据库表
python manage.py makemigrations # 创建迁移文件
python manage.py migrate # 执行迁移(生成数据表)
3. View:处理请求逻辑
编辑 blog/views.py
:
from django.shortcuts import render
from .models import Article def article_list(request): articles = Article.objects.all() # 获取所有文章 return render(request, 'blog/list.html', {'articles': articles})
4. Template:设计页面
-
创建目录:
mkdir blog/templates/blog
新建 blog/templates/blog/list.html
:
<!DOCTYPE html>
<html>
<head> <title>我的博客</title>
</head>
<body> <h1>文章列表</h1> <ul> {% for article in articles %} <li>{{ article.title }} - {{ article.created_at }}</li> {% endfor %} </ul>
</body>
</html>
5. URL路由:绑定访问路径
-
在
blog
目录创建urls.py
-
编辑
blog/urls.py
:from django.urls import path from . import views urlpatterns = [ path('', views.article_list, name='article_list'), ]
修改项目路由
myblog/urls.py
:from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), # 包含blog应用的路由 ]
六、使用Admin后台管理
创建超级用户
python manage.py createsuperuser
# 输入用户名/邮箱/密码
注册Model到Admin
编辑 blog/admin.py
:
from django.contrib import admin
from .models import Article admin.site.register(Article)
-
访问 http://127.0.0.1:8000/admin
-
登录后即可增删改文章!
-
七、效果验收
-
访问 http://127.0.0.1:8000/blog
-
看到文章列表(先在Admin添加几条数据)
-
恭喜!你的博客骨架已完成
💡 下一步学习建议
添加文章详情页在 views.py 写 article_detail 视图模板中显示完整内容用户评论功能新建 Comment Model(关联文章)使用Django表单(forms)部署上线推荐平台:PythonAnywhere(免费)
pip install gunicorn
pip freeze > requirements.txt
新手提示:遇到错误时,仔细阅读命令行报错信息!90%的问题都有明确提示
资源推荐
-
Django官方教程
-
《Django for Beginners》电子书
-
实战项目:个人博客/待办清单/简易电商
记住: 每个Django开发者都曾从"Hello World"开始。坚持三天,你会惊叹自己的进步!
本文手写代码已测试通过,环境:Django 5.0 + Python 3.10
原创不易,转载请注明来源