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
相关推荐
草莓熊Lotso10 分钟前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
玖別ԅ(¯﹃¯ԅ)1 小时前
PID学习笔记6-倒立摆的实现
笔记·stm32·单片机
ZZHow10248 小时前
JavaWeb开发_Day05
java·笔记·web
饕餮争锋11 小时前
设计模式笔记_行为型_观察者模式
笔记·观察者模式·设计模式
I'm a winner11 小时前
新手入门Makefile:FPGA项目实战教程(二)
笔记·fpga开发
汤姆大聪明14 小时前
【软件设计模式】前置知识类图、七大原则(精简笔记版)
笔记·设计模式
lingggggaaaa15 小时前
小迪安全v2023学习笔记(六十一讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全·反序列化
不太可爱的叶某人16 小时前
【学习笔记】Java并发编程的艺术——第6章 Java并发容器和框架
java·笔记·学习
超勇的阿杰18 小时前
gulimall项目笔记:P54三级分类拖拽功能实现
android·笔记