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 分钟前
IO重定向
linux·笔记
Awesome Baron4 分钟前
Python批量测试脚本的一般结构
笔记
航Hang*8 分钟前
第3章:复习篇——第1节:创建和管理数据库
开发语言·数据库·笔记·sql·sqlserver
YJlio18 分钟前
ZoomIt 学习笔记(11.11):休息计时器与演讲节奏控制——倒计时、番茄钟与现场掌控力
数据库·笔记·学习
TL滕20 分钟前
从0开始学算法——第十九天(并查集)
笔记·学习·算法
YJlio25 分钟前
ZoomIt 学习笔记(11.10):键入模式——在桌面上直接打字讲解的最佳实践
服务器·笔记·学习
k期32 分钟前
STM32初学---总线:AHB、AHP / EEPROM、SPI FLASH、EMMC
笔记·stm32·单片机
小智RE0-走在路上36 分钟前
Python学习笔记(5)--函数
笔记·python·学习
zore_c37 分钟前
【数据结构】栈——超详解!!!(包含栈的实现)
c语言·开发语言·数据结构·经验分享·笔记·算法·链表
KaDa_Duck39 分钟前
DASCTF 2025下半年赛 PWN-mvmp复盘笔记
linux·笔记·安全