我在我的 django 站点中使用 django 注册应用程序。现在我想添加更多自定义代码。我觉得如果能直接修改django注册app的原代码就更好了。
我怎样才能做到这一点?
我是否应该只下载 django 注册应用程序的源代码,然后放入我的项目文件夹中。据我了解,它会先检查我的项目文件夹下的文件,然后再检查 DJANGO_HOME\contrib 下的类似文件。
这样对吗?
我在我的 django 站点中使用 django 注册应用程序。现在我想添加更多自定义代码。我觉得如果能直接修改django注册app的原代码就更好了。
我怎样才能做到这一点?
我是否应该只下载 django 注册应用程序的源代码,然后放入我的项目文件夹中。据我了解,它会先检查我的项目文件夹下的文件,然后再检查 DJANGO_HOME\contrib 下的类似文件。
这样对吗?
理想情况下,除非要将更改推送回原始源,否则不应修改源。
只需创建一个新应用程序并扩展/覆盖/复制为您的项目自定义的任何方法。
这样做的原因是,如果 django-registration 更新他们的代码,你会遇到维护开销。如果它是单独的,您仍然可以使用 pip 更新它(您使用的是 virtualenv 对吗?),然后您需要更改的只是您的自定义方法和类。
是的,你可以简单地将它放在你的项目文件夹中,然后修改它以按照你的意愿工作。您也可以删除已安装的,因为在这种情况下您将不再需要它。
请记住将其包含在您INSTALLED_APPS
的设置文件中。
免责声明:通常,编辑已安装应用程序的源代码被认为是不好的。同一主机上的另一个应用程序不会知道您的更改(顺便说一句,看看 virtualenv)。你可能会忘记你已经改变了一些东西并得到意想不到的行为。您不会跟踪更改。即,破坏某些东西太容易了。如果要更改现有应用程序,请将其复制到项目目录,然后进行更改。
从您的另一个问题来看,您似乎是在询问来自 ubernostrum 的 django-registration。这个应用程序支持自定义后端和事件,这对你来说可能就足够了。