0
点赞
收藏
分享

微信扫一扫

Django 学习笔记(十二)


接上的翻译 two-scoops-django 1.5 第七章:函数视图与类视图

•视图、url和模型之间的送耦合已被紧耦合所取代,这意味着你永远不能重用视图定义。  

•不要重复自己的代码这违反了CBVs之间反复使用相同/相似的论点。  

•无限的灵活性(对于url)已被毁掉。类继承,基础视图类的主要有点,是不可能使用此反面模式。  

•很多其他的问题:当你需要添加身份验证时会发生什么?你会打算使用两三个修饰符来封装URLConf吗?

将你的视图代码放入URLConfs会使得你的URLConfs变的混乱不堪。

事实上,我们从开发人员那听到看到定义在URLConf的CBVs 是开发者避免使用它们的原因之一。  

好的,足够的抱怨。我们将在下一页展示我们的偏爱。

旨在URLConf松耦合

这里是讲解了如何创建URLconfs以避免在前面我们所提到的问题。

首先,我们写的视图如下:

# tastings/views.py

from django.views.generic import DetailView

from .models import Tasting

class TasteDetailView(DetailView):

model = Tasting

class TasteResultsView(TasteDetailView):

template_name = 'tastetests/results.html'

然后我们定义urls:

# tastings/urls.py

from django.conf.urls import patterns, url

from .views import TastingDetailView, TastingResultsView

urlpatterns = patterns('',

url(

regex=r'^(?P<pk>\d+)/$',

view=TastingDetailView.as_view(),

name='detail'

),

url(

regex=r'^(?P<pk>\d+)/results/$',

view=TastingResultsView.as_view(),

name='results'

),

)







举报

相关推荐

0 条评论