zoukankan      html  css  js  c++  java
  • django模板传入参数的处理方式与反向生成url

    前端模板传入参数的处理方式

    1、传入单个参数:

    前端使用href="/sel-{{ row.0 }}.html,
    url使用url(r'sel-(.+).html',home.index),来正则匹配参数,
    view.py使用def index(request,*args,**kwargs):中的*args来接受参数

    2、传入关键字参数

    前端使用href="/sel-{{ row.0 }}.html,
    url使用url(r'sel-(?P<article_type_id>d+).html',home.index),来正则匹配参数,
    view.py使用def index(request,*args,**kwargs):中的**kwargs来接受参数
    **kwargs可以直接放在数据库查询语句中查询Article.objects.filter(**kwargs)

    3、使用别名反向生成url分为在前端或者后端

    后端需要导入模块from django.urls import reverse

    url(r'^all/(?<article_type_id>d+).html$', home.index, name='index'),
    在HTML中:{% url "index" article_type_id=1 %} => all/1.html
    在views中:reverse('index',kwargs={"article_type_id":1}) =>all/1.html
    url(r'^all/(d+).html$', home.index, name='index'),
    在HTML中:{% url "index" 1 %} =>all/1.html
    在views中:reverse('index',args=(1,)) =>all/1.html

    在模板或者后端没有写要生成的url,比如前端写的是"index" 1 而我需要生成qwerty/1.html这样一个url

    那么我只需要在url中写一个模板与别名就可以生成:url(r'^qwerty/(d+).html$', home.index, name='index'),

    4、应用场景:

    利用reverse+分页组件完成:分类查看+分页

  • 相关阅读:
    WEB上传大文件
    Java+超大文件上传
    php+文件夹上传
    php上传视频大文件
    每一个程序猿需掌握的20个代码命名小贴士
    Mysql整数运算NULL值处理注意点
    拓展欧几里得模板
    bzoj 1088 简单dfs
    决策树
    进程-IPC 管道 (一)
  • 原文地址:https://www.cnblogs.com/qiangayz/p/9142886.html
Copyright © 2011-2022 走看看