首页 > 代码库 > Djang学习笔记3视图和URL配置

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

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

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

from django.http import HttpResponsedef 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显示出来

 

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