django removing hardcoded URLs in template --- 使用变量,把url放在变量中 {% url 'namespace:name' %}

1 urlpatterns = [
2     url(r‘^admin/‘, admin.site.urls),
3     url(r‘^votes/‘, include("polls.urls", namespace="polls")),
4 ]

/myproject/urls.py

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4 ‘‘‘
 5 @version:
 6 @author: leo Yang
 7 @license: none
 8 @contact: [email protected]
 9 @site:
10 @software:PyCharm
11 @file:urls.py
12 @time(UTC+8):16/7/29-12:28
13 ‘‘‘
14
15 from django.conf.urls import url
16 from django.contrib import admin
17 from . import views
18
19 urlpatterns = [
20     url(r‘^admin/‘, admin.site.urls),
21     url(r‘^index/‘, views.index, name="index"),
22     url(r‘^detail/‘, views.detail, name="detail"),
23     url(r‘^choice/‘, views.choice, name="choice"),
24     url(r‘^result/‘, views.result, name="result"),
25 ]

/projectname/polls/urls.pyy

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>this is index page</title>
 6 </head>
 7 <body>
 8     <li><a href="{% url ‘polls:index‘ %}">{% url ‘polls:index‘ %}</a> </li>
 9     <li><a href="{% url ‘polls:detail‘ %}">{% url ‘polls:detail‘ %}</a> </li>
10     <li><a href="{% url ‘polls:choice‘ %}">{% url ‘polls:detail‘ %}</a> </li>
11     <li><a href="{% url ‘polls:result‘ %}">{% url ‘polls:result‘ %}</a> </li>
12     <li><a href="http://www.baidu.com">url:www.baidu.com</a></li>
13
14 </body>
15 </html>

/projectname/polls/templates/index.html

 1 from django.shortcuts import render
 2 from django.http import HttpResponse
 3 from django.shortcuts import render,get_object_or_404,get_list_or_404
 4
 5 # Create your views here.
 6
 7
 8 def index(request):
 9     ret_render = render(request, "polls/index.html")
10     return ret_render
11     return HttpResponse("this is index page")
12
13
14 def detail(request):
15     return HttpResponse("this is detail page")
16
17
18 def choice(request):
19     return HttpResponse("this is choice page")
20
21
22 def result(request):
23     return HttpResponse("this is result page")

/profectname/polls/views.py

django removing hardcoded URLs in template --- 使用变量,把url放在变量中 {% url 'namespace:name' %}

时间: 2024-10-23 04:08:48

django removing hardcoded URLs in template --- 使用变量,把url放在变量中 {% url 'namespace:name' %}的相关文章

Django中url使用命名空间的错误

出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 2. Reverse for 'home' with arguments '(1L,)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'org/home/?P<org_id>(/d+)/$'] 出错原因

Django框架简介及模板Template

Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Templ

Django中url的逆向解析 -&gt; Reverse resolution of URLs

之前的一篇文章中介绍了url的基本用法[Django的url用法] 解析的过程可以概括为URL request -> view calling 同时,django又提供了另一种解析方式 - Reverse resolution of URLs 它的解析过程为 view calling -> URL request 因为Django奉行的是DRY原则,所以使用这种方式,就无需对url地址进行硬编码.在原本需要硬编码url的地方,直接可以使用url的名字,然后逆向解析出url地址. Django提

Django 笔记 05 urls.py详解

urls.py: URL分发器(路由配置文件) URL配置(URLconf )就像是 Django 所支撑网站的目录.它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表. 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码.URL的加载是从配置文件中开始的. 执行 django-admin.py startproject 时,该脚本会自动为你建了一份 URLconf(即 urls.py 文件).在同时自动创建的setting

Django之路由(urls)层

目录 Django之路由(urls)层 路由的作用 简单的路由配置 难点解释 无名分组与有名分组 无名分组 有名分组 路由分发 为什么要分发路由 反向解析 前段解析 后端解析 无名分组反向解析 前端解析 后端解析 有名分组的反向解析 前段解析 后端解析 名称空间 总结 伪静态 虚拟环境 Django1版本和Django2 版本的区别 Django之路由(urls)层 路由的作用 路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在

django中url路由配置及渲染方式

今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件  from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来

Ansible系列(六):各种变量定义方式和变量引用

本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设置本地facts1.4 输出和引用变量1.5 注册和定义变量的各种方式 1.5.1 register注册变量 1.5.2 set_fact定义变量 1.5.3 vars定义变量 1.5.4 vars_files定义变量 1.5.5 roles中的变量 1.5.6 命令行传递变量 1.5.7 inve

django 中url与path小记

1. 在django 2.0中增加了一些新的特性 更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-friendly contrib.admin) 支持SQL开窗表达式(Window expressions) 第一个特性,主要用于动态路由定义上.在Django2.0代码实现中,主要的变化是新增了 django.urls.path 函数,它允许使用一种更加简洁.可读的路由语法.比如之前的版本的代码:在dja

django -- url (模版语言 {% url &#39;test1&#39; param1=5 param2=6 %})

如果想让form表单提交的url是类似 action="/index-5-6.html" 这样的,可以在html模版语言中使用{% url 'test1' param1=5 param2=6 %} urls.py from django.conf.urls import url, include from mytest import views urlpatterns = [ url(r'^index-(?P<param1>\d+)-(?P<param2>\d+