Python 快速教程(Django01):初试天涯
来源:互联网 发布:mysql emoji utf8mb4 编辑:程序博客网 时间:2024/05/17 00:20
Django是Python下的一款网络服务器框架。Python下有许多款不同的框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。虽然Django之于Python,达不到Rail之于Ruby的一统江湖的地位,但Django无疑也是Python在网络应用方面的一位主将。
向昆汀的致敬,“被解放的姜戈”
Django意外的和昆汀的电影重名。这大大提高了Django的知名度。另外利用电影,宣传了这个奇怪的词的发音。
下面是姜戈的初体验。
安装Django
启动计算机中的Python,尝试载入Django模块。如果可以成功载入,那么说明Django已经安装好:
如果Django还没有安装,可以在命令行,尝试使用pip安装:
或者使用easy_install:
黑夜中,姜戈和镣铐说再见。
启动
使用下面的命令创建项目:
在当前目录下,将生成mysite文件夹。其文件树结构如下:
进入mysite,启动服务器:
上面的8000为端口号。如果不说明,那么端口号默认为8000。
打开浏览器,访问http://127.0.0.1:8000,可以看到服务器已经在运行:
虽然有一个能跑的服务器,但什么内容都没有。
“赏金?猎人?” 姜戈满脸困惑。
第一个网页
在http协议中可以看到,网络服务器是“请求-回应”的工作模式。客户向URL发送请求,服务器根据请求,开动后厨,并最终为客人上菜。Django采用的MVC结构,即点单、厨房、储藏室分离。
我们需要一个指挥员,将URL对应分配给某个对象处理,这需要在mysite/mysite下的urls.py设定。Python会根据该程序,将URL请求分给某个厨师。
将urls.py修改为:
我们添加了最后一行。它将根目录的URL分配给一个对象进行处理,这个对象是mysite.views.first_page。
用以处理HTTP请求的这一对象还不存在,我们在mysite/mysite下创建views.py,并在其中定义first_page函数:
第一行说明字符编码为utf-8,为下面使用中文做准备。first_page函数的功能,是返回http回复,即这里的
世界好
。first_page有一个参数request,该参数包含有请求的具体信息,比如请求的类型等,这里并没有用到。
页面效果如下:
姜戈接过枪,一枪射出去。“天哪!” 德国人惊呆了。
增加app
一个网站可能有多个功能。我们可以在Django下,以app为单位,模块化的管理,而不是将所有的东西都丢到一个文件夹中。在mysite下,运行manange.py,创建新的app:
这个新的app叫做west,用来处理西餐。
我们的根目录下,出现了一个新的叫做west的文件夹。
我们还需要修改项目设置,说明我们要使用west。在mysite/setting.py中,在INSTALLED_APPS中,增加”west”:
可以看到,除了新增加的west,Django已经默认加载了一些功能性的app,比如用户验证、会话管理、显示静态文件等。我们将在以后讲解它们的用途。
姜戈看到曾经的工头们,眼中充满怒火。
增加APP页面
我们下面为APP增加首页。我们之前是在mysite/urls.py中设置的URL访问对象。依然采用类似的方式设置。
另一方面,为了去耦合,实现模块化,我们应该在west/urls.py中设置URL访问对象。具体如下:
首先,修改mysite/urls.py:
注意新增加的最后一行。这里,我们提醒指挥员,对于west/的访问,要参考west/urls.py。
随后,我们创建west/urls.py,添加内容:
将URL对应west下,views.py中的first_page函数。
最后,在west下,修改views.py为:
访问http://127.0.0.1:8000/west,查看效果。
“你们这些混蛋,我一个都不会放过!” 姜戈大吼。
总结
可以看到,Django的创建过程非常简单。但这只是初次尝试Django。为了创建一个完整功能的网站,还需要调用Django许多其它的功能
本文借鉴:http://python.jobbole.com/82783/
- Python 快速教程(Django01):初试天涯
- Python快速教程(快速上手版)
- 【Python教程】Python快速教程
- python初试
- 分享:Python快速教程(转)
- Python快速教程(详见网页)
- Python 快速教程(Django02):庄园疑云
- Python 快速教程(Django03): 所谓伊人
- Python 快速教程(Django05):黑面管家
- Python 快速教程(Django06):假作真时
- Python 快速教程(Django07):马不停蹄
- Python快速教程
- Python快速教程
- Python快速教程
- Python快速教程
- Python快速教程
- Python快速教程总结
- Python快速教程 (手册)
- ibatis缓存的设置使用
- java AES对称加解密
- core data的复习与使用
- 使用动态数组实现列表 C++
- 点击蒙版或return隐藏键盘 ios
- Python 快速教程(Django01):初试天涯
- Android GreenDao数据库框架使用
- 四位一体数码管总有一位比其它数码管明显变亮
- Java类的连接与初始化 (及2013阿里初始化笔试题解析)
- 【Leetcode】Path Sum II
- 1013. Battle Over Cities
- 传智播客javase总结 4
- C#中间语言IL初探
- windows 64位安装Python以及PIL模块详细步骤