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

进阶向:Django入门,从零开始构建一个Web应用

 一、Django是什么?

想象你建房子需要砖头、水泥、设计图... Django就是Python的Web框架工具箱,它帮你准备好了:
 数据库管理
 用户登录系统
 网页模板引擎
 安全防护(防黑客攻击)
你只需专注"盖房子"(业务逻辑),不用从烧砖开始!


 二、环境准备(5分钟搞定)
  1. 安装Python

    • 官网下载Python 3.8+:python.org

    • 安装时勾选 Add Python to PATH

  2. 安装Django
    打开命令行(Windows按Win+R输入cmd):

    pip install django  

    验证安装:

    django-admin --version  
    # 看到版本号(如4.2)即成功  
     三、创建第一个Django项目
  3. 生成项目骨架

    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 → 看到火箭页面即成功!🎉

<script src="chrome-extension://lopnbnfpjmgpbppclhclehhgafnifija/aiscripts/script-main.js"></script>
 四、创建博客应用(App)

项目 vs 应用

  • 项目 = 整个网站(如"京东商城")

  • 应用 = 独立功能模块(如"用户系统"、"商品系统")

  1. 创建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:设计页面
  1. 创建目录:

    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路由:绑定访问路径
  1. 在 blog 目录创建 urls.py

  2. 编辑 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)  
  1. 访问 http://127.0.0.1:8000/admin

    • 登录后即可增删改文章!

 七、效果验收
  1. 访问 http://127.0.0.1:8000/blog

  2. 看到文章列表(先在Admin添加几条数据)

  3. 恭喜!你的博客骨架已完成

 

💡 下一步学习建议
添加文章详情页在 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
原创不易,转载请注明来源 

 

http://www.xdnf.cn/news/14685.html

相关文章:

  • Word之电子章制作——1
  • kubectl exec 原理
  • 力扣第73题-矩阵置零
  • Flutter基础(Children|​​Actions|Container|decoration|child)
  • git使用详解和示例
  • 【区块链】区块链交易(Transaction)之nonce
  • 【Docker基础】Docker容器管理:docker stats及其参数详解
  • C++共享型智能指针std::shared_ptr使用介绍
  • 机器学习配置环境
  • 某音Web端消息体ProtoBuf结构解析
  • 力扣 刷题(第七十一天)
  • 第七章——一元函数微分学的物理应用
  • 多表连接查询:语法、注意事项与最佳实践
  • 如何快速学习一门新编程语言
  • 【Linux】理解进程状态与优先级:操作系统中的调度原理
  • STM32HAL 旋转编码器教程
  • 自定义上下两个方向的柱形图
  • Vue.js 中的数字格式化组件:`FormattedNumber`
  • Note2.4 机器学习:Batch Normalization Introduction
  • 栅极驱动器选的好SiC MOSFET高效又安全
  • Microsoft AZ-900AI-900考证速过经验分享
  • docker部署后端服务的脚本
  • 大模型在急性冠脉综合征预测及诊疗方案制定中的应用研究
  • 大数据在UI前端的应用创新研究:用户偏好的动态调整与优化
  • JavaScript中Object()的解析与应用
  • 免费AI助手工具深度测评:Claude4本地化部署与实战应用指南
  • Spring Boot 项目实训 - 图书信息网站
  • Windows11系统上安装WM虚拟机及Ubuntu 22.04系统
  • ESP32 008 MicroPython Web框架库 Microdot 实现的网络文件服务器
  • 开源 java android app 开发(十三)绘图定义控件、摇杆控件的制作