130 path and custom converter

Yesterday review

1 django orm链接mysql
	-安装pymysql
	-setting中配置
	-django默认用的mysqldb,python3中不支持,在app的__init__.py中写两句话
	-后续操作完全一样
2 pycharm链接mysql,sqlite
3 路由的基本使用
	-url函数的四个参数
4 路由分发
	-127.0.0.1/app01/login
	-根路由url('^app01/',include('app01.url'))
5 无名分组
6 有名分组
7 反向解析
	动态获取路由
	视图函数中使用:reverse('路由别名')
	模版文件中使用:{%url '路由别名'%}
8 名称空间
	-name重名了,不知道反向解析找的是哪一个,在include路由分发时,给每个路由加一个名称空间
	-url=reverse('名称空间:路由别名')
  --{% url '名称空间:路由别名' %}

1 django2.0 version path

1 从2.x之后,建议使用path,是一个准确路径
path的第一个参数是具体的路径,不是正则表达式.后面的使用方法一样
2 使用正则方式,推荐使用re_path

2 path converter

# int是转换器的名字,year等同于有名分组分出来的
# 会被以关键字参数的形式传递到视图函数
path('login/<int:year>',views.login)

re_path(r'^login/',views.login)
1 -5个内置转化器
    str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
    int,匹配正整数,包含0。
    slug,匹配字母、数字以及横杠、下划线组成的字符串。
    uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
    path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
2 例子
	-path('login/<int:year>', views.login),
	-path('login/<str:year>', views.login),
	-path('login/<path:p>', views.article),
3 高级例子
	-实现匹配这种路径:http://127.0.0.1:8000/lqz/p/444.html
  -path('<str:name>/p/<int:id>.html', views.article),
  -re_path(r'^(?P<name>.*?)/p/(?P<id>\d+).html$', views.login),
  -url(r'^(?P<name>.*?)/p/(?P<id>\d+).html$', views.login),  	# url在2.x以后不建议使用
	
4 转换器可以在re_path中使用?
	不可以

3 custom converter

1 写一个类
	-regex属性
	-to_python方法
	-to_url方法
	
2 注册这个类
	register_converter(类名,'lqz')
	
3 使用在path中更使用
	path('<lqz:name>/', views.article),
	

4 Library Management System Table Relationship

0 表关系(其实是表中字段之间的关系)
	一对一
	一对多
	多对多

1 需要哪几个表
	书籍表:book
		-id
		-name
		-price
		-publish
		
	作者:author
		-id
		-name
		-age
	
	作者详情:anthordetail
		-id
		-address
		-phone
		-#author_id
		
	出版社:publish
	
2 表之间的关系
	书和作者(多对多):需要创建第三张表(中间表,关系表)
	书和出版社(一对多):一对多的关系一旦确立,关联字段写在多的一方
	作者和作者详情(一对一):关联字段写在谁都可以,推荐写在查询多的一方
	
3 其实 一对一的关系,是一对多+unique

supplement

What is the partial function

Short chain generation: https://www.layui.com/demo/carousel.html https:/a.com/asfdasd

operation

1 Establish the above relationship in django orm and migrate data (using mysql)

2 Write a library management system

-新增图书

-编辑图书

-查看图书列表

-查看图书详情

-出版社增,删,查改

-作者:增删查改

Guess you like

Origin blog.csdn.net/qq_40808228/article/details/108984603