• django框架之转换器的使用等相关内容-63


    1 django2.0版的path

    1 从2.x以后,建议使用path,是一个准确路径
    2 使用正则方式,推荐使用re_path,用法跟url一模一样

     

    2 path转化器

    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/liuqingzheng/p/4444.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 自定义转化器(不重要)

    1 写一个类
    -regex属性:这里写的正则表达式就能匹配
       -to_python方法
       -to_url 方法
       
    2 注册这个类
    register_converter(类名, 'lqz')  
       
    3 使用在path中更使用
    path('<lqz:name>/', views.article),

     

    4 图书管理系统表关系(图书管理系统)

    0 表中字段的关系
    -一对一
       -一对多
       -多对多

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

     

  • 相关阅读:
    无名信号量在多线程间的同步
    ftok函数例子
    strerror和perror函数详解
    lockf函数的使用
    背包问题-2动态规划【正解】
    递归思想即背包问题
    生产者消费者问题(基于线程和无名信号量)
    eclipse 安装python后pydev不出现
    Eclipse+pydev解决中文显示和注释问题的方法大全
    MyEclipse10配置PyDev进行Python开发
  • 原文地址:https://www.cnblogs.com/usherwang/p/14038178.html
Copyright © 2020-2023  润新知