简介:
Django 是一个 基于 wsgi / asgi 协议 开发的 web 框架。
Django框架是一个非常强大的 企业级的 web开发框架、内置了大量的组件 ,大大降低了程序人员的开发过程。
主要采用的 MTV 设计思想 (M 模型、 T 模板页面、 V 视图函数)
是 MVC (模型 、 视图页面 、控制器) 设计思想的 一个 变形 。 MVC 是 Web开发领域中 非常主流的设计思想。
模型 主要 负责 和 数据库打交道 、采用 ORM (对象关系映射) 设计思想 实现 、解决了 数据库中的 表 和 python中的类 的映射关系 、字段 和 类的属性 的映射关系, 表中的每一条记录 和 类的对象 的映射关系 。
通用django 项目构建方式
1. 打开 命令提示符 、在 合适的 目录下 新建一个 python 虚拟环境
python -m venv .venv
2. 激活 虚拟环境
cd .venv/Scripts activate
3. 安装 django 依赖库
pip install django
4. 创建django 项目
django-admin startproject <项目名>
参数路由
path(route, view, kwargs=None, name=None)
-
route : 设置 后端路由地址 、支持 使用
<type:key>语法 进行占位 , type 默认值为 str
type 类型 :
str : 值的类型是 字符串 、但 字符串中 不能包含 /
int : 值得类型必须是 整数
slug : 值的类型是 字符串 , 但 字符串 必须是 字母、数字、下划线、中划线 组成
uuid : 值的类型是 字符串、 且格式必须是 uuid 格式 (由 0 ~ 9, a ~ f 组成的 格式为 8-4-4-12)
path : 值的类型是 字符串 、 支持 除换行符意外的 任意字符
简单的Django项目配置过程
目标
-
使用 HTML 模板展示两个页面
-
页面一 ➡ 跳转到 页面二
-
页面二 ➡ 跳转回 页面一
第一步:项目基础搭建
使用 PyCharm 创建 Django 项目
mysite,并创建应用myapp,注册到settings.py的INSTALLED_APPS中。
第二步:添加模板目录
1️⃣ 创建模板目录结构
在 myapp 目录下手动创建如下目录结构:
myapp/ ├── templates/ │ └── myapp/ │ ├── page1.html │ └── page2.html
注意:模板文件夹建议用
app名称/文件名.html的形式,防止不同 app 之间模板重名。
2️⃣ 编辑 HTML 模板
page1.html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>页面一</title>
</head>
<body>
<h1>这是第一个页面</h1>
<a href="{% url 'page2' %}">跳转到第二个页面</a>
</body>
</html>
page2.html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>页面二</title>
</head>
<body>
<h1>这是第二个页面</h1>
<a href="{% url 'page1' %}">返回第一个页面</a>
</body>
</html>
第三步:修改视图函数,使用模板渲染
编辑 myapp/views.py:
from django.shortcuts import render def page_one(request): return render(request, 'myapp/page1.html') def page_two(request): return render(request, 'myapp/page2.html')
第四步:配置路由(支持 url 标签使用)
1️⃣ 修改 myapp/urls.py,加上命名路由:
from django.urls import path
from . import views
urlpatterns = [
path('page1/', views.page_one, name='page1'),
path('page2/', views.page_two, name='page2'),
]
2️⃣ 修改 mysite/urls.py 加入 include():
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')), # 默认加载 myapp 路由
]
第五步:运行并访问项目
在 PyCharm 下方 Terminal 执行:
python manage.py runserver
在浏览器中访问:
-
http://127.0.0.1:8000/page1/ — 页面一
-
点击跳转按钮跳转到 页面二
-
页面二中也有返回按钮
项目目录结构总览
mysite/
├── myapp/
│ ├── templates/
│ │ └── myapp/
│ │ ├── page1.html
│ │ └── page2.html
│ ├── urls.py
│ └── views.py
├── mysite/
│ └── urls.py
└── manage.py