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