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






  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值