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

  • 相关阅读:
    《DSP using MATLAB》Problem 6.17
    一些老物件
    《DSP using MATLAB》Problem 6.16
    《DSP using MATLAB》Problem 6.15
    《DSP using MATLAB》Problem 6.14
    《DSP using MATLAB》Problem 6.13
    《DSP using MATLAB》Problem 6.12
    《DSP using MATLAB》Problem 6.11
    P1414 又是毕业季II
    Trie树
  • 原文地址:https://www.cnblogs.com/qiangayz/p/9142886.html
Copyright © 2011-2022 走看看