首页 > 代码库 > 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配置