Python django反向匹配问题

Python django反向匹配问题,python,django,Python,Django,我一直在想我为什么会有这样的问题。一切似乎都很好,我对其他URL没有问题。当我手动输入URL时,页面显示良好 这是导致问题的模板标记:{%url'计划:日历“%} 以下是URL.py: app_name = 'schedule' urlpatterns = [ url(r'^$', login_required(views.CalendarView.as_view(), login_url='/login/'), name='calendar'), ] 我认为没有必要,但我的视图文件中

我一直在想我为什么会有这样的问题。一切似乎都很好,我对其他URL没有问题。当我手动输入URL时,页面显示良好

这是导致问题的模板标记:
{%url'计划:日历“%}

以下是URL.py:

app_name = 'schedule'
urlpatterns = [
    url(r'^$', login_required(views.CalendarView.as_view(), login_url='/login/'), name='calendar'),
]
我认为没有必要,但我的视图文件中只有以下内容:

class CalendarView(TemplateView):
    template_name = 'schedule/index.html'

    def get_context_data(self, **kwargs):
        context = super(CalendarView, self).get_context_data(**kwargs)
        context['template'] = 'calendar_view'
        return context
我根本看不到命名冲突,但当我将
{%url'schedule:calendar'%}
放在模板中的任何位置时,它会抛出错误,即使这是模板页面中唯一的内容

以下是错误:

Environment:


Request Method: GET Request URL: http://127.0.0.1:8000/schedule/

Django Version: 1.10.3 Python Version: 3.5.2 Installed Applications: ['footables',  'floppyforms',  'djangobower',  'custom_user',  'bootstrap3_datetime',  'widget_tweaks',  'schedule.apps.ScheduleConfig',  'customers.apps.CustomersConfig',  'employees.apps.EmployeesConfig',  'jobs.apps.JobsConfig',  'frontend.apps.FrontendConfig',  'django.contrib.admin',  'django.contrib.auth',  'django.contrib.contenttypes',  'django.contrib.sessions',  'django.contrib.messages',  'django.contrib.staticfiles',  'rest_framework',  'mptt'] Installed Middleware: ['django.middleware.security.SecurityMiddleware',  'django.contrib.sessions.middleware.SessionMiddleware',  'django.middleware.common.CommonMiddleware',  'django.middleware.csrf.CsrfViewMiddleware',  'django.contrib.auth.middleware.AuthenticationMiddleware',  'django.contrib.messages.middleware.MessageMiddleware',  'django.middleware.clickjacking.XFrameOptionsMiddleware']


Template error: In template /home/poduck/PycharmProjects/mobileautorepair/schedule/templates/schedule/index.html, error at line 0    Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []   1 : {% extends 'frontend/base.html' %}{% load staticfiles %}{% block style %}    2 :  <link rel='stylesheet' href='{% static 'fullcalendar/dist/fullcalendar.min.css' %}'/>{% endblock %}    3 : {% block title %}Schedule{% endblock %}    4 : {% block body %}    5 :    <div class="container">    6 :         <div id="calendar"></div>    7 :     </div>    8 : {% endblock %}    9 : {% block script %}    10 :   <script src="{% static 'fullcalendar/dist/fullcalendar.min.js' %}"></script>


Traceback:

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  217.                 response = self.process_exception_by_middleware(e, request)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  215.                 response = response.render()

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/response.py" in render
  109.             self.content = self.rendered_content

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/response.py" in rendered_content
  86.         content = template.render(context, self._request)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/backends/django.py" in render
  66.             return self.template.render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in render
  208.                     return self._render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in _render
  199.         return self.nodelist.render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in render
  994.                 bit = node.render_annotated(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in render_annotated
  961.             return self.render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/loader_tags.py" in render
  174.         return compiled_parent._render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in _render
  199.         return self.nodelist.render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in render
  994.                 bit = node.render_annotated(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/base.py" in render_annotated
  961.             return self.render(context)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/template/defaulttags.py" in render
  439.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/urls/base.py" in reverse
  91.     return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix,
*args, **kwargs)))

File "/home/poduck/virtualpython3/lib/python3.5/site-packages/django/urls/resolvers.py" in _reverse_with_prefix
  392.             (lookup_view_s, args, kwargs, len(patterns), patterns)

Exception Type: NoReverseMatch at /schedule/ Exception Value: Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
环境:
请求方法:获取请求URL:http://127.0.0.1:8000/schedule/
Django版本:1.10.3 Python版本:3.5.2已安装的应用程序:['footables'、'floppyforms'、'Djangbower'、'custom_user'、'bootstrap3_datetime'、'widget_tweaks'、'ScheduleConfig'、'customers.apps.CustomerConfig'、'employees.apps.JobsConfig'、'frontend.apps.FrontendConfig'、'django.contrib.admin'、'django.auth'、'django.contrib.contenttypes'、'django.contrib.sessions“,”django.contrib.messages“,”django.contrib.staticfiles“,”rest_framework“,”mptt“]安装的中间件:['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware''django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.AuthenticationMiddleware.AuthenticationMiddleware','django.messages.middleware.messages.MessageMiddleware','django.middleware。XFrameOptionsMiddleware']
模板错误:在Template/home/poduck/PycharmProjects/mobileAutorerepair/schedule/templates/schedule/index.html中,找不到带参数“()”和关键字参数“{}”的“”的第0行反向错误。尝试了0个模式:[]1:{%extends'frontend/base.html%}{%load staticfiles%}{%block style%}2:{%endblock%}3:{%block title%}计划{%endblock%}4:{%block body%}5:6:7:8:{%endblock%}9:{%block script%}10:
回溯:
文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/core/handlers/exception.py”
39.响应=获取响应(请求)
响应中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/core/handlers/base.py”
217.response=self.process\u异常\u由\u中间件(e,请求)
响应中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/core/handlers/base.py”
215.response=response.render()
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/response.py”
109.self.content=self.rendered\u content
呈现内容中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/response.py”
86.content=template.render(上下文、自请求)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/backends/django.py”
66.返回self.template.render(上下文)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”
208.返回自渲染(上下文)
文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”在_render中
199.返回self.nodelist.render(上下文)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”
994.bit=node.render_注释(上下文)
render_注释中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”
961.返回self.render(上下文)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/loader_tags.py”
174.返回编译的\u父对象。\u呈现(上下文)
文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”在_render中
199.返回self.nodelist.render(上下文)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”
994.bit=node.render_注释(上下文)
render_注释中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/base.py”
961.返回self.render(上下文)
render中的文件“/home/poduck/virtualpython3/lib/python3.5/site packages/django/template/defaulttags.py”
url=reverse(视图名称,args=args,kwargs=kwargs,当前应用程序=当前应用程序)
文件“/home/poduck/virtualpython3/lib/python3.5/site-packages/django/url/base.py”的格式相反
91.返回强制_文本(iri_至_uri)(解析器._反向_,带_前缀)(视图,前缀,
*args,**kwargs)))
文件“/home/poduck/virtualpython3/lib/python3.5/site-packages/django/url/resolvers.py”位于带前缀的\u-reverse\u中
392.(查找视图、参数、kwargs、len(模式)、模式)
异常类型:/schedule/Exception值处的NoReverseMatch:找不到参数为“()”且关键字参数为“{}”的“”的反转。尝试了0个模式:[]

您可以发布模式顺序的调试信息吗(只需点击 错误的url和Django将显示在“为您调试”中)-Artem 贝尔纳茨基

多亏了Artem Bernatskyi的评论,我找到了答案。我有一个用于数据的API,该API的URL.py文件中有一个名称空间冲突。它也有
app\u name='schedule'
。我重命名了它,现在一切正常

对于任何有相同问题的人来说,如果您只需在所有代码中搜索您要反向匹配的名称,这可能是最快的。请确保它们不会出现在另一个URL.py文件中


谢谢你,Artem。

你能为模式的顺序发布你的调试信息吗(只需点击错误的url,Django就会为你在“调试”中显示)?分享你的root
url.py