LOADING

Follow me

Django 学习笔记(十二)
十一月 23, 2013|IT

Django 学习笔记(十二)

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’
),

)

 

 

 

 

 

 

 

 

 

 

 

no comments
Share

发表评论