《Django+Vue.js实战派PythonWeb开发与运维》学习笔记
第一篇 Django基础
1.简单运行
2.网站入口-django的路由和视图
3.页面展示-django模板
4.使用数据库-django模型
5.自动生成界面-django表单
6.用户认证
1.简单运行
命令行快速创建项目
django-admin startproject myshop
命令行创建目录
python manage.py startapp app1
创建后项目目录
启动服务
python manage.py runserver
2.网站入口-django的路由和视图
2.1 路由基本配置:
from django.urls import path
from . import view
urlpatterns = [
path('hello/', view.hello),
path('runoob/', view.runoob)
]
2.2 带参数路由
配置路由urls.py
urlpatterns = [
path('show/<int:id>/',view.show)
]
view.py
def show(request,id):
return HttpResponse("带参数的url,参数id:"+str(id))
访问界面
语法规则<参数类型:参数名称>
类型支持:str,int,slug(任何ascii字符,下划线,连接符),uuid(uuid格式字符串,必须包括-且字母小写,比如www-111-fafd)
2.3 用re_path()方法正则匹配复杂路由
语法规则: (?P<name>pattern)
正则表达式 | 说明 |
. | 匹配任意单个字符 |
\d | 匹配任意一个数字 |
\w | 匹配字母,数字,下划线 |
* | 匹配0个或多个字符 \d*:匹配0个或多个数字 |
[a-z] | a-z中任意一个小写字母 |
{1,5} | 匹配1~5个字符 |
示例:
# urls.py
urlpatterns = [
re_path(r'list/(?P<year>\d{4})/',view.article_list)
]
# 注意正则表达式要添加 r'',不加可能会失效
# view.py
def article_list(request,year):
return HttpResponse("re_path--->year:"+str(year))
2.4 认识视图函数
Django中的视图是MTV模式中的View层,用于处理客户端的请求并生成响应数据。在视图中使用函数处理请求的方式,被称为视图函数。也成为FBV(function base views)。视图函数的代码一般放在应用目录下的views.py文件中。
视图函数主要使用HttpRequest对象和HttpResponse对象。但是通过这两个对象处理数据相对繁琐,因此Django对这些操作进行封装。
1.render()函数实现页面渲染
根据模板文件和传给模板文件的字典类型的变量,生成HttpResponse对象并返回。
def render(
request, template_name, context=None, content_type=None, status=None, using=None
):
request:传给视图函数的所有请求,
template_name:渲染的模板文件,一般放在templates目录下,
context=字典类型,保存要传递到HTML文件中的变量,
content_type=生成文档的MIME类型,默认为text/html,
status=响应的状态代码,一般为200
using=模板引擎,解析模板文件
2. redirect()实现页面重定向 【省略】
3.视图类【省略】