<story><title>Django Views – The Right Way</title><url>https://spookylukey.github.io/django-views-the-right-way/index.html</url></story><parent_chain></parent_chain><comment><author>dec0dedab0de</author><text>I like class based views.&lt;p&gt;But either way if your views are getting complicated you&amp;#x27;re doing it wrong. Views should just be plumbing to glue together the data you want for the template. All your business logic should be methods on your models, and if those are getting too complex they should be importing separate modules. The views should mostly be boilerplate.&lt;p&gt;The reason everything should be on the model (or atleast a separate module if you&amp;#x27;re a functional zealot) is so you can have your same logic available in your async queue, the api, cron jobs, and the shell for troubleshooting.  If you have any logic tied up in the view it&amp;#x27;s a huge pain to access from anywhere else. And I don&amp;#x27;t know about you, but I always end up needing the logic somewhere else.</text></comment>
<story><title>Django Views – The Right Way</title><url>https://spookylukey.github.io/django-views-the-right-way/index.html</url></story><parent_chain></parent_chain><comment><author>BiteCode_dev</author><text>Ok I was ready to hate this article the second I read the title, and I clicked on it just to get enough ammunition to crap on it.&lt;p&gt;But it&amp;#x27;s actually quite good and I came to similar conclusions after trying to make CBV work for years.&lt;p&gt;Plus it&amp;#x27;s well written.&lt;p&gt;Damn.</text></comment>