@rickyChen
2016-09-12T17:03:57.000000Z
字数 925
阅读 2264
Python
Django
以下内容基于Django 1.3.2
1. reverse
调用方法
from django.core.urlresolvers import reverse
def home(request):
if request.user.is_authenticated():
return redirect(reverse('dashboard')
说明
根据Django MVC模式,url和视图方式是通过url.py和view.py分开实现的,如果url发生变化,需要修改两个文件,这与Django的一条哲学Don't repeat yourself
不相符,使用reverse可以让我们只修改url.py。后台代码会去url.py中需要相关接口的url。
2. 模板中{% url %}的使用
调用方法
base.html
<a href="{% url 'list_delete' i.id %}">删除</a>
<a href="{% url 'list_modify' i.id %}">修改</a>
**url.py**
url(r'^index/list_delete/(?\d+)/$',list_delete,name='list_delete'),
url(r'^index/list_modify/(?\d+)/$',list_modify,name='list_modify')
/index/list_modify/4/
这样的url,id号由数据库的数据来定。最后可以在view.py中引用id这个变量,来完成特定操作。3. enumerate
调用方法
for index, item in enumerate(list):
print index, item
for i in list: ...
,但这样只能获取到值,不能获取到位置。使用enumerate
可以获取遍历的位置和遍历的值。4. REFERENCE