Djang学习笔记3视图和URL配置

1. 页面内容 : 一个网页通过一个视图函数(view function)来展示, 如何把它放到网站服务器中呢,通过url (定义在URLconf)中

View: 视图有时候非常简单都是完整的函数和导入声明

from django.http import HttpResponse
def hello(request):
    return HttpResponse("Hello world")
  • 首先,我们从 django.http 模块导入(import) HttpResponse 类。和 HttpResponse 的细节。

  • 一旦有request(客户端向服务器request),服务器就向客户端response
  • 我们需要导入这些类,因为我们会在后面用到。接下来,我们定义一个叫做 hello 的视图函数。

  • 一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个
    HttpResponse实例。为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两个条件。

  • URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间
    的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 例
    如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件view.py中。

2. URLconf :URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。

                   你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。

                   例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件view.py中。

            

from django.conf.urls import patterns, include, url #import所有url运用到的东西
from django.contrib import admin 
from newsapp.views import hello  # import views 函数

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'NewsApp.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    ('^hello/$',hello)
)

3.Django是怎么处理请求的

  • 1. 进来的请求转入/hello/.
    2. Django通过在ROOT_URLCONF配置来决定根URLconf.
    3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
    4. 如果找到匹配,将调用相应的视图函数
    5. 视图函数返回一个HttpResponse
    6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

 

posted @ 2015-02-01 21:23  zzblee苦瓜  阅读(186)  评论(0编辑  收藏  举报