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中关于URL配置文件urls.py的理解

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

django 多站点urls配置

1. 包含其他 URLconf 应用程序基于多个django站点,应该考虑到URLConfig包含【include】的方式来处理urls。 from django.conf.urls.def...

django 多站点urls配置

1. 包含其他 URLconf  应用程序基于多个django站点,应该考虑到URLConfig包含【include】的方式来处理urls。 from django.conf.urls...

Django入门:Django urls配置

from django.conf.urls import patterns, include, url from django.contrib import adminurlpatterns = pa...

基于 Django1.10 文档的深入学习(27)—— django.conf.urls utility functions 之 url(),include(),static()

django.conf.urls实用程序函数static()static.static(prefix, view=django.views.static.serve, **kwargs)帮助器功能返回...

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

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

django中 出现(urls.W005) URL namespace 'admin' isn't unique.

在django学习中配置数据库表什么的出现django 出现(urls.W005) URL namespace ‘admin’ isn’t unique.解决方法:这里主要是我在一个项目中使用了两次m...

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

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

Django中url的逆向解析 -> Reverse resolution of URLs

源:http://blog.csdn.net/feelang/article/details/25464261 之前的一篇文章中介绍了url的基本用法[Django的url用法] 解析的过...

Django 1.5.4 专题二 urls 和 view 提高

一.修改article/urls.py内容如下
  • wcc526
  • wcc526
  • 2013年10月10日 21:47
  • 1258
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:django学习---urls配置
举报原因:
原因补充:

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