django学习---urls配置

原创 2016年08月30日 22:11:40
urls的配置分为三步:
(1)增加urls映射
(2)在views中定义模板函数
(3)定义新模板

一、首先建立一个新的工程
      (1) django-admin.py startproject study_urls
      (2) 配置settings文件(修改时区、语言,增加app为test_urls)
      (3) 新建app:django-admin.py startapp test_urls

二、编写test_urls包里的视图文件views
      (1)定义了一个时间函数和姓名函数
#coding=utf-8
from django.shortcuts import render
from django.template import loader,Context
from django.http import HttpResponse
import datetime


# Create your views here.
def time(request):
    """时间模版函数,返回当前时间"""
    t = loader.get_template("time.html")   #读取模版
    time = datetime.datetime.now()      
    c = Context({"time":time})        #填充数据
    return HttpResponse(t.render(c))
    
def name(request):
    """name函数,返回姓名"""
    t = loader.get_template("name.html")
    name = ['James','Wade','Kobe']
    c = Context({"name":name})
    return HttpResponse(t.render(c))
    
   (2)在test_urls包中新建templates模板文件夹,在模板文件夹写入time.html和name.html

time.html
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Now</title>
 </head>
 <body>
   <center>
   <h1> {{time}}</h1>
   </center>
 </body>
</html>
name.html
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>NBA top3</title>
 </head>
 <body>
   <center>
    <h3>
    {% for name in name %}
	   <li>{{name}}</li>
	  {% endfor %}
	</h3>
   </center>
 </body>
</html>

三、配置study_urls中的urls.py文件
from django.conf.urls import url
from django.contrib import admin
from test_urls import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^time/',views.time),
    url(r'^name/',views.name)
]

四、启动服务 manage.py runserver


urls设置站点分离
一、将urls文件拷贝在test_urls包里
修改test_urls中的文件为:
</pre><pre class="python" name="code">from django.conf.urls import url
from django.contrib import admin
import views

urlpatterns = [
    
    url(r'^time/',views.time),
    url(r'^name/',views.name)
]

修改study_urls中urls.py文件:
from django.contrib import admin
from django.conf.urls import url, include

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^test_urls/', include('test_urls.urls'))
]





urls传参
一、利用request.GET.get传参
修改views视图函数:
    id = request.GET.get('id')
    ball = request.GET.get('ball')
    c = Context({"name":name,"id":id,"ball":ball})
    
修改模版文件
<li> id is {{id}}</li>
<li> ball is {{ball}}</li>
刷新网页:http://127.0.0.1:8000/test_urls/name/?id=23&ball=basketball



二.利用正则表达式传参
(1)修改test_urls中的urls.py文件
url(r'^info/(\d+)/$',views.info)
(2)修改views文件
def info(request,id1):
    """name函数,返回姓名"""
    t = loader.get_template("name.html")
    name = ['James','Wade','Kobe']
    c = Context({"name":name,"id1":id1})
    return HttpResponse(t.render(c))

(3)结果:

(4)指定参数名字
url(r'^bar/(?P<no>\d+)/$',views.bar)
在views文件中必须指定bar函数传入的参数名为no




版权声明:本文为博主原创文章,未经博主允许不得转载。

Django中app的urls的配置和基本的数据查询

本文介绍Django中的urls的配置:主项目与app之间的urls的配置,以及简单的用app/view.py 查询数据库,并显示在app/templates/xxxxxx.html中。 配...
  • u013045971
  • u013045971
  • 2015年09月06日 01:36
  • 3150

Django中关于URL配置文件urls.py的理解

1. 什么是urls.py urls.py本质上就是一个标准的python文件,这个python文件的作用就是在URL请求和处理该请求的视图函数之间建立一个对应关系,换句话说,它就是一个url请求映射...
  • tdcqfyl
  • tdcqfyl
  • 2016年08月03日 16:46
  • 8897

深入理解django的Urls分发

目录索引: 一、Django URL的本质 二、解析patterns()函数 三、解析url()函数 四、include()函数 五、url高级配置   ...
  • onlyanyz
  • onlyanyz
  • 2014年08月29日 10:35
  • 4656

django 多站点urls配置

1. 包含其他 URLconf 应用程序基于多个django站点,应该考虑到URLConfig包含【include】的方式来处理urls。 from django.conf.urls.def...
  • seeground
  • seeground
  • 2015年10月26日 11:08
  • 275

Python Django进阶教程(一)(高级视图和URL配置)

Django版本:1.11 操作系统:Windows Python:3.5高级视图和URL配置 首先回顾一下url和views的基础写法。 url.pyurl(r'^search/$', ...
  • HuangZhang_123
  • HuangZhang_123
  • 2017年05月03日 14:35
  • 527

五、Django项目中包含多个应用时对url的配置

一个Django工程中多数情况下会存在多个应用, 如何针对多个应用的url进行配置呢,有以下两种方案: 1、在Django工程的urls.py中针对每个应用分别配置不同的url路径 2、在...
  • qixinbruce
  • qixinbruce
  • 2017年06月16日 00:00
  • 564

Django urls.py的集中管理配置

以前配置在工程同工程名的urls.py管理所有app的url 文件路径 缺点:如果url太多就都写到这里,很乱,很长,没有分类。方然系统提供了一个空格'',作用是写共同的url...
  • u010098331
  • u010098331
  • 2017年03月26日 08:57
  • 278

python-Django每个应用中添加urls文件

如果说多个应用的url语句都写在项目目录下的urls文件中,那么可能会导致该文件出错,而且信息太多的话修改也不容易修改,不能找到与之对应的应用,在每一个应用中都添加urls文件可以很轻松的解决这个问题...
  • You_are_my_dream
  • You_are_my_dream
  • 2016年10月23日 13:33
  • 225

[urls.py设置技巧]Django urls.py的了解与基本配置

注:以下内容转载自 现代魔法学院 网站的 Django urls.py的了解与基本配置 一文,仅供学习使用。         在 Django 框架中,urls.py 的设置很关键,它决定了所有页...
  • dapeng0802
  • dapeng0802
  • 2015年11月02日 23:02
  • 2914

django 多站点urls配置

1. 包含其他 URLconf 应用程序基于多个django站点,应该考虑到URLConfig包含【include】的方式来处理urls。 from django.conf.urls.def...
  • ztejiagn
  • ztejiagn
  • 2013年04月15日 16:08
  • 452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:django学习---urls配置
举报原因:
原因补充:

(最多只允许输入30个字)