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+分页组件完成:分类查看+分页

  • 相关阅读:
    【NOIP2013模拟】太鼓达人
    The Clocks
    《学会提问》读书笔记1
    学习进度报告2021/3/10
    学习进度报告2021/3/9
    学习进度报告2021/3/8
    学习进度报告2021/3/7
    学习进度报告2021/3/6
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    学习进度报告2021/3/5
  • 原文地址:https://www.cnblogs.com/qiangayz/p/9142886.html
Copyright © 2011-2022 走看看