Django5个人笔记

1.初识django

首先Django 是一个开源、高级的 Python Web 框架
全栈框架 :提供从数据库到用户界面的完整解决方案,内置 ORM、模板引擎、表单处理、认证系统等。

让人们专注于编写应⽤程序,⽽⽆需重新发明轮⼦。

1.1 安装并跑起来我们第一个django项目

1,安装python

Django是基于Python的框架,⾸先需要安装Python。

官⽹:https://www.python.org/
2.安装包管理工具

setuptools是Python的包管理⼯具,⽤于安装和管理Python包。

官⽹:https://pypi.org/project/setuptools/

bach 复制代码
# 安装
setuptools
 pip install setuptools 
# 升级
python -m pip install --upgrade setuptools
 # 验证安装
pip show setuptools

3 安装Django框架

python 复制代码
# 安装Django 5
 python -m pip install Django==5.2.5
# 验证安装
django-admin --version

1.1.2开发第⼀个Django框架应⽤程序

通过命令⾏构建Django应⽤程序

因为pycharm只要专业版才可以通过图像界面才能构建django程序应用,而我懒得破解觉得使用window powershell进行构建

首先打开我们的powershell

bash 复制代码
 # 创建项⽬⽬录
mkdir django_project
 cd django_project
 # 创建虚拟环境
python -m venv venv
 # 激活虚拟环境
# Windows
 venv\Scripts\activate
 # macOS/Linux
 source venv/bin/activate
 # 安装Django
 pip install Django==5.2.5
 # 创建Django项⽬
django-admin startproject mysite
 # 进⼊项⽬⽬录
cd mysite
 # 运⾏开发服务器
python manage.py runserver


相对于⽤命令⽅式,PyCharm创建的项⽬,多了templates⽬录(⽤来放html模版⽂件),以及
settings.py,多了 BASE_DIR / 'templates'


出现这个就显示成功了

1.1.3 文件结构解读

我们先来看看文件结构

然后我们详细讲解一下各个模块是干啥的

我们先来看看ai的解释

1.1.3 添加简单的Django应⽤程序代码

1 创建⼀个简单的Django应⽤

2 修改myapp/views.py 添加视图⻚⾯:

3 创建myapp/urls.py 配置URL路由

4 修改mysite/urls.py 配置URL路由

:

启动Django5 服务器

bash 复制代码
 # 运⾏开发服务器
python manage.py runserver

1.2 MTV架构

Django遵循MVC(模型-视图-控制器)设计模式,但在Django中,它通常被称为MTV(模型-模板-视图)架

构:
模型(Model): 处理数据和数据库逻辑
模板(Template): 处理表现层(HTML输出)
视图(View): 处理业务逻辑,连接模型和模板

模板接收⽤户输⼊后交由视图去处理,视图负责连接模型进⾏数据操作,并将操作结果传递给模板进⾏

展示,以上就是Django框架所设计的MTV模式的基本⼯作原理。

简单来说:Model 管"数据",Template 管"样子",View 管"怎么把数据塞进样子并返回"。

我们简单写个示例理解一下

c 复制代码
myproject/
 ├ myapp/
 │  ├ models.py
 │  ├ views.py
 │  └ urls.py
 └ myproject/urls.py     # 主路由,2 行代码

models.py(Model)

python 复制代码
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)

views.py(View + Template 渲染)

python 复制代码
from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.all()                    # 取数据
    return render(request, 'book_list.html',      # 选模板
                  {'books': books})               # 传上下文

book_list.html(Template)

python 复制代码
<ul>
{% for book in books %}
    <li>{{ book.title }}</li>
{% endfor %}
</ul>

路由

myapp/urls.py

python 复制代码
from django.urls import path
from . import views
urlpatterns = [path('books/', views.book_list)]

myproject/urls.py

python 复制代码
from django.urls import include, path
urlpatterns = [path('', include('myapp.urls'))]

运行

python 复制代码
python manage.py makemigrations
python manage.py migrate
python manage.py shell -c "from myapp.models import Book; Book.objects.create(title='Django 入门')"
python manage.py runserver
相关推荐
星轨初途1 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉1 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
love530love4 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
愚戏师4 小时前
MySQL 数据导出
数据库·笔记·mysql
摇滚侠4 小时前
2025最新 SpringCloud 教程,教程简介,笔记01
笔记·spring cloud
RickyWasYoung6 小时前
【笔记】智能汽车、电动汽车政策文件
笔记·汽车
love530love9 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
草莓熊Lotso10 小时前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划
FFF团团员90917 小时前
树莓派学习笔记3:LED和Button
笔记·学习
碧海潮生_CC18 小时前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda