Django, url 配置逆向题。给出不正确的配置
Django, url configuration reverse question. Gives ImproperConfigured
我尝试使用这两行来检查 url 反向是否有效...:
从 django.urls 导入反向
反转('country-autocomplete')
它应该给我:
你'/国家/地区自动完成/'
我之前做过这个并且效果很好,因为我遇到了几个问题并且在环境中做了一些改变(?)。
现在我正尝试在 cmd->python 中 运行 这些命令,并在环境中使用 swthed,它给了我这个错误:
>>> from django.urls import reverse
>>> reverse('raildict-autocomplete')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\urls\base.py", line 31, in reverse
resolver = get_resolver(urlconf)
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\urls\resolvers.py", line 69, in get_resolver
urlconf = settings.ROOT_URLCONF
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\conf\__init__.py", line 76, in __getattr__
self._setup(name)
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\conf\__init__.py", line 57, in _setup
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting ROOT_URLCONF, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我做了什么来破坏它,最重要的可能是如何修复它?谢谢!
def get_absolute_url(self):
return reverse('src:post')
有这种错误它累了我的错误解决了
这在执行操作后提供默认反转
或者您正在倒退到有问题或不存在的路径。
或使用 reverse_lazy.
有点蠢...
我开火了:'python' 来自 cmd
然后:
>>>from django.urls import reverse
>>>reverse('sch-autocomplete')
但是,它不应该那样做,而且肯定它给了我错误信息。哦!我好难过!但这只是我的错误,谢天谢地......环境好,路径好等等。只要正确地做就可以了:
python manage.py shell
>>>from django.urls import reverse
>>>reverse('sch-autocomplete')
然后它给了我正确的反向路径。我会把它留在这里...因为我看到了非常深入、复杂的答案:请求的设置 ROOT_URLCONF,但未配置设置。在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。
但是我的代码中的问题是表面上的,只是因为我在 cmd 中编码错误。可能对某人有帮助并节省时间...
我尝试使用这两行来检查 url 反向是否有效...: 从 django.urls 导入反向 反转('country-autocomplete') 它应该给我: 你'/国家/地区自动完成/' 我之前做过这个并且效果很好,因为我遇到了几个问题并且在环境中做了一些改变(?)。
现在我正尝试在 cmd->python 中 运行 这些命令,并在环境中使用 swthed,它给了我这个错误:
>>> from django.urls import reverse
>>> reverse('raildict-autocomplete')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\urls\base.py", line 31, in reverse
resolver = get_resolver(urlconf)
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\urls\resolvers.py", line 69, in get_resolver
urlconf = settings.ROOT_URLCONF
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\conf\__init__.py", line 76, in __getattr__
self._setup(name)
File "C:\Users\me\Envs\sc_project\lib\site-packages\django\conf\__init__.py", line 57, in _setup
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting ROOT_URLCONF, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我做了什么来破坏它,最重要的可能是如何修复它?谢谢!
def get_absolute_url(self):
return reverse('src:post')
有这种错误它累了我的错误解决了 这在执行操作后提供默认反转
或者您正在倒退到有问题或不存在的路径。 或使用 reverse_lazy.
有点蠢...
我开火了:'python' 来自 cmd
然后:
>>>from django.urls import reverse
>>>reverse('sch-autocomplete')
但是,它不应该那样做,而且肯定它给了我错误信息。哦!我好难过!但这只是我的错误,谢天谢地......环境好,路径好等等。只要正确地做就可以了:
python manage.py shell
>>>from django.urls import reverse
>>>reverse('sch-autocomplete')
然后它给了我正确的反向路径。我会把它留在这里...因为我看到了非常深入、复杂的答案:请求的设置 ROOT_URLCONF,但未配置设置。在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。 但是我的代码中的问题是表面上的,只是因为我在 cmd 中编码错误。可能对某人有帮助并节省时间...