用django如何进行页面开发
在利用Django进行web开发前,我们需要先创建自己的目录mysite。然后我们来看看用Django进行web端的开发步骤有哪些。
1 、编写静态页面
我们以大家所熟知的Hello world页面为例,为大家简单介绍利用Django编写静态页面的步骤(当然在编写静态页面之前,你需要创建自己的mysite目录)。
Step1:创建视图文件
在用Django进行第一个页面编写之前,首先需要在创建好的mysite目录下建立一个a.py的文件,并在其中写入如下代码,并保存:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world! This is my first trial. ")
我们逐行分析一下这段代码:
首先,我们从django.http模块导入HttpResponse类。
然后,定义一个叫做hello的视图函数。 每个视图函数至少要有一个参数,通常被叫作request。这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpResponse的一个实例。在这个示例中,我们虽然不用request做任何事情,然而它仍必须是这个视图的第一个参数。 注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让Django识别它。 在这里我们把它命名为:hello,是因为这个名称清晰的显示了视图的用意。同样地,你可以用诸如:hello_wonderful_beautiful_world、maiziedu,这样难看的短句来给它命名。
这个函数只有简单的一行代码: 它仅仅返回一个HttpResponse对象,这个对象包含了文本“Hello world”。
值得注意的就是,为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两个条件:一个视图就是Python的一个函数;这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。
Step2:进行URL配置
现在,如果你再运行:python manage.py runserver,你还将看到Django的欢迎页面,而看不到我们刚才写的Hello world显示页面。 那是因为我们的mysite项目还对hello视图一无所知。我们需要通过一个详细描述的URL来显式的告诉它并且激活这个视图。为了绑定视图函数和URL,我们使用URLconf。
URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件a.py中。
如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Python tuple即可. 这里演示如何添加view中hello功能。
from django.conf.urls import *
from mysite.views import hello
urlpatterns = patterns('',
('^hello/$', hello),
)
我们逐行分析一下这段代码:
首先,我们从模块中引入了hello视图。
然后,我们为urlpatterns加上一行: (‘^hello/$’, hello), 这行被称作URLpattern,它是一个Python的元组。元组中第一个元素是模式匹配字符串(正则表达式);第二个元素是那个模式将使用的视图函数。
urlpattern中包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。
其实,这段代码只是告诉Django,所有指向URL:/hello/的请求都应由hello这个视图函数来处理。
Step3:启动Django服务器查看页面
启动Django开发服务器来测试修改好的 URLconf, 运行命令行python manage.py runserver 。开发服务器的地址是 http://www.maiziedu.com/ ,打开你的浏览器访问 http://www.maiziedu.com/hello/ 。 你就可以看到输出结果了。开发服务器将自动检测Python代码的更改来做必要的重新加载, 所以你不需要重启Server在代码更改之后。服务器运行地址” http://www.maiziedu.com /“,所以打开浏览器直接输入“ http://www.maiziedu.com/hello /”,你将看到由你的Django视图输出页面如下所示:
Hello world! This is my first trial.
恭喜你,你成功运用Django编写了一个静态web页面。
总结一下:
进来的请求转入/hello/。
Django通过在ROOT_URLCONF配置来决定根URLconf。
Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
如果找到匹配,将调用相应的视图函数。
视图函数返回一个HttpResponse。
Django转换HttpResponse为一个适合的HTTP response,以Web page显示出来。
其实做一个Django-powered页面了,只需要写视图函数并用 URLconfs把它们和URLs对应起来就ok了。
2、 编写第一个动态页面
讲完静态页面的编写,下面我们通过一个显示当前时间的页面来简单示范一下动态页面的编写,以current time页面为例。其实动态页面和静态页面的编写是一样的,也分两部分组成:创建视图和配置URL。
视图文件a.py代码如下:
from django.http import HttpResponse
import time
def current_time(request):
return HttpResponse("Current time is: "+time.strftime('%Y-%m-%d %H:%M:%S'))
URLconf文件urls.py代码如下:
from django.conf.urls import *
from mysite.views import current_time
urlpatterns = patterns('',
('^current_time/$', current_time),
)
然后我们通过网址http://www.maiziedu.com/current_time/就可以看到编写的第一个动态页面了,它显示的内容是你访问该页面时的当前时间,如下图所示:
Current_time is:2015-07-02 14:12:05
到这里,利用 python Django进行Web页面开发基本知识就讲得差不多了,大家可能觉得很简单,但我们讲的都是基本操作,如果大家要设计出完美的web页面,还需要经过一段时间的努力。
推荐学习:Django实战视频教程 http://www.maiziedu.com/course/python/307-3025/