zoukankan      html  css  js  c++  java
  • (6)路由层下的反向解析

    需求:访问index页面的时候重定向的test页面

    urls.py

    from django.conf.urls import url
    from django.contrib import admin


    from app01 import views
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/',views.index),
    url(r'^test/',views.test),
    ]

    views.py

    from django.shortcuts import render,HttpResponse,redirect

    def index(request):
    # return HttpResponse('我是index页面')
    return redirect('/test/') #这里返回的页面前后都要有/,否则会出错
    def test(request):
    return HttpResponse('我是test页面')

    需求:当修改路由下的路径后,视图下的重定向路径也跟着变,动态的改变

    需要用到反向解析:需要导入reverse函数

    urls.py

    from django.conf.urls import url
    from django.contrib import admin
    from app01 import views
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/',views.index),
    # 这里的name就是给当前路径重命了一个名,url第一个地址是一个正则表达式,第二个是函数的内存地址用来调用相关的函数,第三个是给第一个地址起一个别名,用来做反向解析的
    url(r'^test/',views.test,name='ttt'),
    ]

    views.py

    from django.shortcuts import render,HttpResponse,redirect,reverse


    def index(request):
    # 这里根据urls路由里面路径的名字来反向解析出路径,完成动态的重定向
    url=reverse('ttt')
    return redirect(url)
    def test(request):
    return HttpResponse('我是test页面')

    需求:在模板内实现反向解析完成重定向

    urls.py

    from django.conf.urls import url
    from django.contrib import admin


    from app01 import views
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/',views.index),
    # 这里的name就是给当前路径重命了一个名
    url(r'^test/',views.test,name='ttt'),
    ]

    views.py

    from django.shortcuts import render,HttpResponse,redirect,reverse

    def index(request):
    return render(request,'index.html')
    def test(request):
    return HttpResponse('我是test页面')

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>我是首页</title>
    </head>
    <body>
    <h1>django的index页面</h1>
       # 固定格式{% url '地址名字' %}
    <a href="{% url 'ttt' %}">模板下实现反向解析重定向</a>
    </body>
    </html>
  • 相关阅读:
    paip.注册java程序为LINUX系统服务的总结。
    paip.Log4j配置不起作用的解决
    paip.获取地理位置根据Ip
    paip.抓取网页内容--java php python
    paip.java 开发中web server的选择jboss resin tomcat比较..
    paip.c++ 转换 java 解决方案
    paip.java c# .net php python调用c++ c dll so windows api 总结
    SVN的405错误
    怎样开启SQL数据库服务
    C#中读取二维数组每位的长度
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10483048.html
Copyright © 2011-2022 走看看