Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我应该使用Django';s contrib应用程序还是构建我自己的?_Python_Django_Django Contrib - Fatal编程技术网

Python 我应该使用Django';s contrib应用程序还是构建我自己的?

Python 我应该使用Django';s contrib应用程序还是构建我自己的?,python,django,django-contrib,Python,Django,Django Contrib,Django应用程序有自己的功能和设计。如果您的需求与contib应用程序的功能不100%匹配,那么您将定制和调整应用程序。我觉得这需要更多的努力,而不仅仅是构建自己的应用程序来满足您的需求 你觉得怎么样?这要看情况而定。我们需要98%与contrib.flatpages相似的东西。我们本可以对其进行蒙基修补,但我们认为代码非常简单,我们只需复制和分叉它。结果很好 另一方面,使用contrib.auth执行此操作可能是一个糟糕的举动,因为它与contrib.admin和contrib.sessi

Django应用程序有自己的功能和设计。如果您的需求与contib应用程序的功能不100%匹配,那么您将定制和调整应用程序。我觉得这需要更多的努力,而不仅仅是构建自己的应用程序来满足您的需求


你觉得怎么样?这要看情况而定。我们需要98%与contrib.flatpages相似的东西。我们本可以对其进行蒙基修补,但我们认为代码非常简单,我们只需复制和分叉它。结果很好


另一方面,使用contrib.auth执行此操作可能是一个糟糕的举动,因为它与contrib.admin和contrib.session交互。

django.contrib中的大多数应用程序编写得非常好,并且具有高度可扩展性

不太喜欢评论的工作方式?在其中对模型和表单进行子类化,添加您自己的功能,您就有了一个适合您的站点模式的可工作的注释系统,几乎不费吹灰之力


我认为扩展contrib应用程序最好的部分是,你没有真正做任何黑客行为,你只是在编写(大部分)常规Python代码来添加功能。

在构建自己的应用程序之前,我还想查看第三方可重复使用的应用程序。很多都列在上,大多数托管在或上。

实际上,contrib.session不使用contrib.auth,相反,您仍然可以使用它。此外,如果您希望某些用户能够访问管理工具,那么为身份验证目的开发自己的用户模型并不是非常困难,它将一个外键返回给contrib.auth user。您是对的。我对一个与会话相关的问题有模糊的记忆,但它是auth在会话中存储身份验证模块信息,然后我们移动了代码所在的文件,它就坏了。所以,不要在意会议上的评论。