• Django urls.py的了解与基本配置

    如何用正则配置URL
    服务器君一共花费 259.188 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    Django 框架中,urls.py 的设置很关键,它决定了所有页面的 URL 长什么样子。所以很有必要我们开一个专题来探讨它的使用。

    我们先来粗略看看 urls.py 的样子,虽然前面也有介绍,我们这里算是复习一下吧:

    from django.conf.urls import patterns, include, url
    
    # Uncomment the next two lines to enable the admin:
    # from django.contrib import admin
    # admin.autodiscover()
    
    urlpatterns = patterns('',
        # Examples:
        # url(r'^$', 'nowamagic.views.home', name='home'),
        # url(r'^nowamagic/', include('nowamagic.foo.urls')),
    
        # Uncomment the admin/doc line below to enable admin documentation:
        # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    
        # Uncomment the next line to enable the admin:
        # url(r'^admin/', include(admin.site.urls)),
    )
    

    前面也谈过,只要配置这么一条规则:

    (r'^hello/$',hello),
    

    就可以定义 http://127.0.0.1:8000/hello/ 路径显示 views.py 中的 hello 函数。

    • 模式包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义:上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。^hello/$匹配hello/字符串,即在网址http://127.0.0.1:8000/hello/找到hello/后,使用hello()函数显示出来,如果没有'$'结尾,则网址中输入hello1/;hello2/都会对应以hello()函数显示出来。

    hello 函数我们随便写写:

    from django.http import HttpResponse,Http404
    
    def hello(request): 	#每个视图函数至少要有一个参数,通常被叫作request。 
        return HttpResponse("Hello NowaMagic!")	#一个视图功能必须返回一个HttpResponse
    

    那么我需要显示首页,就是域名直接映射到某个 view 函数下,那么又怎么写呢?

    (r'^$', index),
    

    index 函数就是生成首页的 view 函数。

    顺便说下,在 view 函数里,return HttpResponseRedirect('../'):返回主页,即127.0.0.1。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [计算机算法] 两数交换的各种算法细节 2 个条目
  2. [Python程序设计] 从PHP到Python 3 个条目
  3. [运维管理] 防火墙原理与应用 5 个条目
  4. [PHP程序设计] htaccess 设置技巧 6 个条目
  5. [数据库技术] 数据库范式篇 5 个条目
  6. [PHP程序设计] PHP数组探索 4 个条目
  7. [PHP程序设计] PHP与Stream流 5 个条目
  8. [智力开发与知识管理] 超越整体性学习 5 个条目
  9. [PHP程序设计] fsockopen,curl与file_get_contents 12 个条目
  10. [移动开发] 从代码角度去认识 Handler 4 个条目
  11. [搜索引擎优化] 百度搜索引擎优化指南 3 个条目
  12. [移动开发] Layout_weight属性解析 5 个条目
窗口 -- [协会]