Loading

The Definitive Guide To Django 2 学习笔记(一) Views and UrL confsRL

1.如何找到django在Ubuntu下的安装路径:

  进入python命令行,import django,print(django.__path__)

2.使用django-admin.py 创建项目

  django-admin.py startproject 'projectname'

3.启动项目服务

  进入项目文件目录 python manage.py runserver

4.Hello,World.

  在创建的项目文件夹下创建一个新文件,命名为Hello.py,里边编写代码如下:

  

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world.")

     在URLs.py文件中指向处理/Hello/请求的Pattern

from django.conf.urls import patterns, include, url
#from django.contrib import admin
from Hello.views import hello

#admin.autodiscover()

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

5. 命令行中启动该项目

   python manage.py runserver

 

在浏览器中输入:http://127.0.0.1:8000/Hello/就可以看到我们的Hello,world项目成功运行了。

 

Django 是如何处理请求的:

当你在浏览器中看到自己写的“Hello world”,Django处理这一请求的后台机制是什么样的呢?

所以的一切都是从配置文件开始的,当你开始运行python manage.py runserver命令,脚本开始在同一目录下查找settings.py文件,该文件包含了对该项目的所有配置,都是大写字的变量,TEMPLATE_DIRS,DATABASE_NAME等等。最常用的是ROOT_URLCONF. ROOT_URLCONF指定Django的某一个python module作为该网站URLconf.

settings.py 和 urls.py 是django-admin.py startproject命令自动创建的,自动创建的settings.py 包含 ROOT_URLCONF setting 指定 urls.py文件。打开settings.py文件,应该是下面的样子:

ROOT_URLCONF = 'mysite.urls'

当Django接收到/Hello/请求后,开始加载配置文件中ROOT_URLCONF指定的URL文件(mysite/urls.py),当在该文件中找到了与只匹配的第一个URL样式('^Hello$')后,将Request转给Views.py中对应的处理函数。

 

正如你所见,View中的函数返回了HttpResponse对象,剩下的工作由 Django完成,返回合适的WebRespose.

总结:

1.请求 /Hello/

2.Django通过查找ROOT_URLCONF 检测 根 URLConf

3.Django在URLConf中查找匹配的URL样式

4.如果匹配成功,转给合适的View Function

5.View Function返回HttpResponse

6.Django转化HttpResponse成合适的HTTP RESPONSE,以WEB PAGEde 形式展现。

posted @ 2013-11-15 11:42  青岛欧姆网络科技  阅读(207)  评论(0编辑  收藏  举报