• 3/19 Django框架 url路由配置及模板渲染


    3/19 Django框架 url路由配置及模板渲染

    1.路由分配

    URL(Uniform Resoure Locato):统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
    https://docs.pythontab.com:443/django/django1.5/intro/overview.html#model

    协议 域名(IP地址和端口) 路径 锚点

    urlpatterns : 路由模式

    项目文件下的叫根配置文件

    url.py : UrlConf模块(url配置模块)

    path函数(route, view, kwargs=None, name=None)

    • route是一个字符串url规则
    • view是一个试图,是一个函数,不加括号
    • kwargs:额外的参数,是一个字典
    • name:url规则的名字

    在url中捕获参数

    例如要获取某个学生的详情 需要在数据库中通过主键id唯一标识这个学生

    通过<>捕获参数 转换器int: (int:)

    转换器

    pk传进去的时候会转换类型

    • str: 匹配除了路径分隔符'/'之外所有的字符串,如果不写转换器,默认是字符串转换器
    • int: 匹配0或任何正整数
    • slug: 匹配任意的ASCII字符或数字组成的slug字符串,连字符和下划线
    • path: 匹配任何非空字符串,包括路径分隔符‘/’

    使用正则表达式

    re_path(route,view,kwargs=None,name=None)

    注:用正则表达式匹配到的参数会转换成字符串类型

    url命名

    重定向

    导入django.shortcuts.redirect
    return redirect('')
    命名:在路由模式中加入name = ''可以给路径命名
    使用的时候导入django.shortcuts.reverse
    使用reverse('')
    如果在不同APP下路径的命名相同,就需要在每个APP的urls.py下设置一个变量
    app_name = '<app_name>',命名就可以写成reverse('<app_name>:'),
    以便区分不同的视图

    2.模板系统

    项目根目录下新建一个templates文件夹,再在templates文件夹下新建APP文件夹,用来存放不同应用下的模板
    项目目录下的settings.py里有一个叫TEMPLATES的列表,里面嵌套了一个字典,是用来配置模板路径的。将BASE_DIR(项目根目录)与路径拼接,放到DIRS的值里去'DIRS':[os.path.join(BASE_DIR, 'templates')]

    from django.template.loader import get_template
        t = get_template('teacher/index.html')
        html = t.render()
        return HttpResponse(html)
        # 就等同于
        return render(request, 'teacher/index.html')
    
  • 相关阅读:
    七.贪心算法
    六。二叉树
    从git指定commit拉分支
    二分法
    mysql 解决生僻字,特殊字符插入失败
    MYSQL性能优化以及建议
    PDF快捷键
    GC 核心关注点都在这里
    R语言载入包时报错:Error: 程辑包‘survival’没有名字空间
    Centos buff/cache过高
  • 原文地址:https://www.cnblogs.com/tz201809015/p/10578821.html
Copyright © 2020-2023  润新知