2017-01-13 11 views
0

なぜ私はこれに問題があるのか​​把握しようとしています。すべてがうまくいくようですが、私は他のURLが逆転することに問題はありません。 URLを手動で入力すると、ページが正常に表示されます。djangoのリバースマッチの問題

これが問題を引き起こしテンプレートタグである:ここで{% url 'schedule:calendar' %}

はurls.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' %}を入れたときに、どこでも、それはそれはONL場合でも、エラーがスローされますテンプレートページのyの事。ここで

はエラーです:

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: [] 
+1

パターンの順序に関するデバッグ情報を投稿できますか(間違ったURLを打つと、Djangoは "debug on"で表示されます)? –

+0

ルート 'urls.py'を共有してください。 – utkbansal

+0

@utkbansalのように、あなたのルートURLのconfは何ですか?正しい名前空間を提供していることを確認してください – karthikr

答えて

0

Can you post your debug information for patterns' order (just hit the wrong url and Django will display in "debug on" it for you) ? – Artem Bernatskyi

アルテムBernatskyiさんのコメントのおかげで、私はそれを考え出しました。データのAPIがあり、そのAPIのurls.pyファイルに名前空間の競合がありました。それにはapp_name='schedule'もあった。私はそれを改名し、今はすべて正常に動作します。

同じ問題を抱えている人は、リバースマッチを試みている名前のすべてのコードを検索するだけで、最も速いかもしれません。それらが別のurls.pyファイルに表示されないようにしてください。

ありがとうございましたArtem。