我正在尝试重用现有的django应用django-reviews。我根据说明进行设置,代码现在处于dist-packages下。
>>> import review
>>> review
<module 'review' from '/usr/local/lib/python2.7/dist-packages/review/__init__.pyc'>
我写的其他应用程序位于我项目的根目录下,该目录受版本控制以及requirements.txt
问题
应用程序代码与我的代码之间的某些约定有所不同。例如,
1)应用中的模板扩展{%base.html%},我的base.html实际上命名为{%&#34; __ base.html&#34; %&#34;}。 2)用于登录该应用的网址结构为accounts / sign_in,但我当前的sign_in网址位于&#34; / log_in&#34;
问题
更改dist-packages下的代码似乎不是一个好的解决方案,因为它不在我的版本控制范围内,也不在我的项目主目录中。如果将来有任何其他冲突的应用程序,更改我的代码以匹配应用程序的逻辑将是一个问题。
我是否应该使用源代码作为参考,并在我项目的主目录中创建一个名为review的新应用程序?
处理此类问题时的推荐方法是什么?
答案 0 :(得分:1)
修改dist-packages
目录中的代码绝不是一个好主意。我只是用来调试我使用的软件包,但永远不会永久改变。
如果您确实需要更改软件包的源代码,最好分叉存储库并进行更改。您可以按照您希望的方式将其添加到项目中(作为Git子模块,或者只是将其导入现有存储库中)。
然而,django可重用应用程序的想法是它可以重复用于多种用途,并且您不必分叉它以使其可用于您。也许这个应用程序不是可配置的足够你。您可以尝试为此项目做出贡献,使其更具可配置性,以便更多人可以访问。这当然是一点点工作,但可以很有趣!