python - 重新加载后找不到我的自定义模型管理 url 的反向(sys.modules ['urls.py' ])

标签 python django django-models django-admin django-1.4

在我为我的自定义模型管理 url 调用 reverse 时执行以下操作后,它给我 Reverse not found 并且在重新加载 urls.py reverse 之前工作正常。

def _reset_urls(self, urlconf_modules):
    """Reset `urls.py` for a set of Django apps."""
    for urlconf in urlconf_modules:
        if urlconf in sys.modules:
            reload(sys.modules[urlconf])
    clear_url_caches()

    resolve('/')

我对此进行了调试,发现当我调用 reload(sys.modules[urlconf])admin.site._registry 是空的,因为它创建了新的 AdminSite 对象。

我尝试在 reload(sys.modules[urlconf]) 之前将 admin.site 保存在变量中并将其分配回 admin.site 重新加载后但没有成功。

需要帮助。

提前致谢。

最佳答案

我在运行 Django 1.7 时遇到了同样的问题,这似乎为我解决了这个问题:

import sys
from importlib import reload  # Python 3
from django.conf import settings
from django.core.urlresolvers import clear_url_caches
from django.utils.importlib import import_module

def reload_urlconf(urlconf=None):
    clear_url_caches()
    if urlconf is None:
        urlconf = settings.ROOT_URLCONF
    if urlconf in sys.modules:
        reload(sys.modules[urlconf])
    import_module(urlconf)

关于python - 重新加载后找不到我的自定义模型管理 url 的反向(sys.modules ['urls.py' ]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31136860/

相关文章:

python - Django / python : How to group queryset results by date?

python - 一堆立方体的体积

c++ - 使用 C 在收据打印机中打印图像

python - 在 Ubuntu 13.04 上编译 MySQL Workbench

python - 如何插入反序列化的 Django 对象?

Python zipfile 未交付给用户

python - 如何在可浏览的 Django Rest API 中隐藏 HTML 表单中的字段?

django - SQLite 是否支持参照完整性?

django 目录布局说明

django - 获取 Django 中 IntegerChoices 对象的值?