只是通過一些CBV的工作,並想知道這是不好的風格。通常情況下,您的views.py
中有一個班級,該視圖中有一個urls.py
的網址。喜歡的東西:Django基於類的視圖 - 將所有代碼放在urls.py中是否是一種糟糕的風格?
views.py
from django.views.generic.list import ListView
from project.models import Contact
class ContactList(ListView):
model = Contact
urls.py
from django.views.generic.list import ListView
from project.views import ContactList
urlpatterns = [
url(r'contacts/$', ContactList.as_view()),
]
,然後模板來顯示數據。
但是,這個剛剛跳過視圖代碼完全,做這一切是這樣的urls.py
文件中:
from django.views.generic.list import ListView
from project.models import Contact
urlpatterns = [
url(r'contacts/$', ListView.as_view(model=Contact)),
]
那是不好的風格組所有入urls.py
文件?我的意思是,它擺脫views.py
內的多餘代碼,所以這不是很好?或者這是以犧牲清晰度爲代價的減少?
我當然不服氣,你可以用'URL(r'contacts/$」,ListView控件生活。as_view(model = Contact))'直到你需要重用這個視圖 - 但顯然你在這個階段沒有理由這樣做。 – jpic
將視圖的定義從urls.py移動到views.py不會實現鬆耦合!它只是移動代碼!哦,上帝 – jpic
如果你想添加驗證,該怎麼辦?您仍然可以在urls.py中修飾視圖。如果你需要更復雜的東西呢?那麼只需在views.py中聲明視圖,做**實用**,關心你現在需要的**,而不是明天**可能需要的**。 – jpic