反向解析与重定向 | Django开发

1.html中的反向解析
    1.1 原理:给url起名字,根据url的名字找到对应的视图
        {% url ‘register‘ %}
        # 如果url匹配时携带参数:
        url(r‘^index/(\d+)/$‘, views.index, name=‘index‘),
        # 那么,在匹配到视图时就需要传入一个参数:
        def index(request,param):
            return render(request, ‘index.html‘, {‘param‘:param})
        # 在页面中的url反向解析,也要传入对应参数
        <a href="{% url ‘index‘ 10 %}">跳转</a>

    1.2 {% url ‘users:register‘ %}与{% url ‘register‘ %}的区别?
        # 当项目中有多个应用的时候,给url起的名字就会相同,
        # 所以为了区分,才有的{% url ‘users:register‘ %};
        # 在使用{% url ‘register‘ %}时不要在项目urlconf中添加namespace;

2.视图中的反向解析
    1.1 导入模块
        from django.core.urlresolvers import reverse
        def index(request):
            redirect_url = reverse(‘index‘, args=(1,))
            return HttpReponse(‘ok‘)

3.视图中的重定向跳转:
    from django.shortcuts import redirect
    from django.core.urlresolvers import reverse
    ...
    return redirect(reverse(‘users:register‘))
时间: 2024-08-30 13:34:17

反向解析与重定向 | Django开发的相关文章

Django中模板总结[模板语言,模板继承,CSRF攻击,反向解析]

模板 概述 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器.模版致力于表达外观,而不是程序逻辑.模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用. 创建模板文件夹 在项目的文件里面定义一个templates文件夹 在创建的文件夹里面再创建一个文件夹为每个应用的html文件夹 起名为和应用名同名的文

Django之url上的include,URL命名和反向解析,命名空间 以及图书管理系统删除功能二合一方法

include其他的URLconfs #At any point, your urlpatterns can "include" other URLconf modules. This #essentially "roots" a set of URLs below other ones. #For example, here's an excerpt of the URLconf for the Django website itself. #It include

Django学习【第2篇】:Django之反向解析

Django框架之第二篇 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中). views:视图函数 另加urls:url路径与视图函数的映射关系,,可以不是一一对应的. 2.相关的一些命令 创建一个Django项目:django-admin  startproject  projectname 创建一个项目下的应用:python3  manage.py  startapp  appn

跨域 反向解析

跨域 在url必须声明命名空间 app_name = '自定义' 在C盘中找到etc文件夹下的hosts文件,进入hosts文件中添加你要添加的域 让后在黑窗口下指定域名 例: python manage.py runserver 80 在命令后面直接指定端口号 在settings # 定义跨域中间件 'corsheaders.middleware.CorsMiddleware', # 配置跨域范围 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_

Django 项目 实现重定向并进行反向解析

一.项目路由配置urls.py中 from django.conf.urls import include, url from django.contrib import admin # 匹配应用 urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 配置namespace 属性, 以便在视图中进行重定向时,定位对应的应用中,即使url改变了 url(r'^', include('goods.urls', namespace='

Python - Django - 命名 URL 和反向解析 URL

命名 URL: test.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method=&quo

Django运维后台的搭建之三:用url去精细定制与反向解析

上一篇文章里,我们做了一个alionlineecs(阿里云线上环境服务器)的添加界面,但是要知道我们的计划里是有六个分支的,而alionlineecs仅仅是其中之一,要是每一个都这么写的话,那么views.py肯定又臭又长,充满了大量的复制片段. 对于这样的情况,我们就用一种统一的方式,把这些alionlineecs\alifuncecs\slb\rds等等这些分支当成一个变量,再自定义两个url,比如lists这个url就是展示功能,当在浏览器里输入"外网地址:8000/lists/alion

第61篇 Django 路由系统 正则表达式和二级路由 路由的命名和反向解析

1. 正则表达式 1. Django路由系统匹配URL路径的时候是从上到下按照注册顺序来的 1.1Django1.11 与Django2.0区别 以及过度转换 2. Django的路由系统只匹配URL路径,不匹配域名.端口.URL参数 3. 分组匹配 --> 相当于给视图函数传位置参数 4. 分组命令匹配 --> 相当于给视图函数传关键字参数 r'^xxxx$' r一定要写上,代表里面的字符串是原始的字符串不需要转译 5. 注意: 分组匹配和分组命名匹配不能混合使用!!! 6.匹配不成功是否自

django URL反向解析和命名空间

一.反向解析URL 在实际的Django项目中,经常需要获取某条URL,为生成的内容配置URL链接. 比如,我要在页面上展示一列文章列表,每个条目都是个超级链接,点击就进入该文章的详细页面. 现在我们的urlconf是这么配置的:^post/(?P<id>\d+). 在前端中,这就需要为HTML的<a>标签的href属性提供一个诸如http://www.xxx.com/post/3的值.其中的域名部分,Django会帮你自动添加无须关心,我们关注的是post/3. 此时,一定不能硬