url反向解析

url反向解析

  • url反向解析即给url路径起别名

    1. url 反向解析在模板中的应用

      无动态参数: {% url 'login_alias' %}

      有动态参数:

    # urls.py
    urlpatterns = [
      # 给url路径起别名, 不写死路径,在django模板渲染时路径调用别名,可以不管路径的更改,都可以按别名找到修改的路径
        # name='login_alias' 路径的别名
        url(r'^log/$', views.login, name='login_alias')
    ]
    
    
    {#django模板-->先将html文件交给django模板渲染完成后再将html文件返回给浏览器进行渲染#}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        {#action指定别名, #}
    <form action="{% url 'login_alias' %}" method="post">  
        {% csrf_token %}
        username: <input type="text" name="username">
        password: <input type="text" name="password">
      <input type="submit">
    </form>
    
    </body>
    </html>
    
    1. url反向解析在视图函数中的应用

      无动态参数: url = reverse('new_index')

      有动态参数: url = reverse('new_index', args=(i, ))

      # urls.py
      urlpatterns =[
          url('index/', views.index, name='new_index')
      ]
      
      # views.py
      from django.urls import reverse # 反向解析的函数
      
      ...
      ...
      url = reverse('new_index')
      return redirect(url)
      
posted @ 2020-05-07 15:01  ManIThMrrr  阅读(168)  评论(0编辑  收藏  举报