The Django Book 第三章 试图和URL配置
之前自学Django也有一段时间了,再过一个月就要入职新公司了(Python Django开发),即使现在还在入门级徘徊,再好好把Django基础过一遍吧。
The Django Book 第三章 试图和URL配置
总结:
一、视图返回HttpResponse请求, Http404
from django.http import HttpRespnse
def hello(request):
return HttpResponse(“<body>Hello World</body>”)
from django.http imort Http404
def hours_ahead(request , offset):
try:
offset = int(offset)
except:
raise Http404()
二、地址页面的请求过程
- 进入的请求为/hello/
- Django通过settings.py中的ROOT_URLCONF配置决定根URLconf
- Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
- 如果找到匹配,将调用相应的视图函数
- 视图函数返回一个HttpResponse
- 6.Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来
三、settings.py
1.ROOT_URLCONF = 'mysite.urls' 配置根urlconf
2.TIME_ZONE = 'Aisa/Shanghai' 配置时区
扩展:
- 要想在url中传入参数,则在正则表达式中用圆括号括起来
- url中如果定位为如下:(r'^time/plus/(\d{1,2})' 则视图函数中第二个参数(第一个为request)获取正则表达式的第一个分组[位置];也可使用关键字定义(r'^time/plus/(?P<id>\d{1,2})'),则视图函数中想获取该值,则必须传入参数id。
其他:
- 在视图函数中不臆测参数值的合法性,即使offset在url中有约束
def hours_ahead(request , offset): try: offset = int(offset) except: raise Http404() - 页面主动出错,在视图函数中添加assert False
另外:
- sublime2 中添加pep8lint,对代码进行Pclint检查
- sublime2 中添加前段ZenCoding插件已改名为EMMET
The Django Book 第三章 试图和URL配置的更多相关文章
- 第三章 视图和URL配置
在Mysite文件夹中,创建一个views.py的空文件,输入: from django.http import HttpResponse def hello(request): return Htt ...
- django之创建第7-2个项目-url配置分离
1.urls.PY分离 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment ...
- 第三章 Hyper-V 2012 R2配置选项
原书中的第二章 是介绍了下hyper-v的管理器和检查点的使用,导入导出虚拟机,所以我跳过了不高兴写,很简单.直接进入第三部分,介绍虚拟机的三个重要组成部分:CPU,内存,硬盘的配置选项. Hyper ...
- Python爬虫学习==>第三章:Redis环境配置
学习目的: 学习非关系型数据库环境安装,为后续的分布式爬虫做基建 正式步骤 Step1:安装Redis 打开http://www.runoob.com/,搜索redis安装 打开搜索的内容,得到red ...
- django之创建第7-1个项目-url配置高级
修改urls.PY文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment ...
- django之创建第7个项目-url配置
1.配置urls.py from django.conf.urls import patterns, include, url #Uncomment the next two lines to ena ...
- Django之视图和URL配置
1.在创建项目时,Django会自动创建URL配置,在urls.py文件中 文件的默认内容如下所示: """mysite URL Configuration The ur ...
- 【二】Django 视图和url配置
在新建的Django项目下,新建一个views的python文件,编辑如下代码 from django.http import HttpResponse def hello(request): ret ...
- 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...
随机推荐
- Android开发---开发文档翻译
2014.11.24 1:ClipData类:用于表示剪切的数据,此剪切的数据可以是复杂类型,包括一个或多个条目实例 (1)基础知识 >公共类:public class >嵌套类:Clip ...
- tp5 验证码功能实现
视图层 <div class="loginbox-textbox"> <input class="form-control" placehol ...
- laravel 布局 详解(实例)
在resources/views里创建layouts,并在layouts里创建app.blade.php, 这个php文件放的就是你的页面框架,也就是多页面公用的内容,如下 <!DOCTYPE ...
- 3d工具收集
Poser 是Metacreations公司推出的一款三维动物.人体造型和三维人体动画制作的极品软件.用过Poser 2与Poser 3的朋友一定能感受到Poser的人体设计和动画制作是那么的轻松自如 ...
- CF939D Love Rescue
题意 给定两个长度为n的由小写字母组成的字符串 每次可以花费1的代价,指定两个字母,把其中一个全部变为另一个 求使两个字符串相同的最小花费 n <= 100000 因为谁变成谁没有关系反正相等就 ...
- mysql之SQL入门与提升(三)
今天继续讲mysql数据库 先创建一张Persons表 CREATE TABLE Persons(P_Id int NOT NULL,LastName varchar(255) NOT NULL,Fi ...
- 怎么快速对DB里的所有email进行校验
问题 由于业务上的需求,重新改写了校验email的正则表达式,同时DB里又迁移了其他数据库的数据,现在需要重新对DB里的所有email再校验一次,以排除掉不合法的email. DB里的数据很多,手动去 ...
- go系列(3)- go框架beego以及redis的使用
这篇讲讲如何在beego框架使用redis. golang中比较好用的第三方开源redisclient有: go-redis 源码地址:https://github.com/go-redis/redi ...
- JDBC | 查询表数据行数
两种方法: 1. "select * from userinfo" 利用ResultSet的last和getRow方法来获得ResultSet的总行数,适用于在查询数据的同时统 ...
- Codeforces Round #532(Div. 2) B.Build a Contest
链接:https://codeforces.com/contest/1100/problem/B 题意: 给n,m. 给m个数,每个数代表一个等级,没给一个将其添加到题目池中,当题目池中有难度(1-n ...