2017-04-03 5 views
0

Djangoのurlタグを使用して別のページに簡単に接続しようとしています。私は "'set'オブジェクトが可逆でないというエラーが出ています。少し探した後、私は何かを見つけるのに失敗しました。オブジェクトがリバーシブルでないことを意味するDjango

urls.py

from django.conf.urls import url 
from . import views 

APP_NAME = 'website' 
urlpatterns = { 
    url(r'^$', views.admin_view, name='adminview'), 
    url(r'^eventview/$', views.event_view, name='eventview'), 
} 

admin_view.html

<!DOCTYPE html> 
<html lang="en" > 
<head> 
{% load static %} 
    {% block header%} 
    {% include 'website/header.html' %} 
    {% endblock %} 

    <!-- Insert custom css here --> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 

<!-- top navbar --> 
    <nav class="navbar navbar-inverse navbar-fixed-top"> 
    <div class="container-fluid"> 

     <div class="navbar-header"> 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="#">Vivid Fireworks</a> 
     </div> 

     <div id="navbar" class="navbar-collapse collapse"> 
     <ul class="nav navbar-nav navbar-right"> 
      <li><a href="{% url adminview %}">Dashboard</a></li> 
      <li><a href="{% url eventview %}">Add Show</a></li> 
      <li><a href="#">Settings</a></li> 
      <li><a href="#">Profile</a></li> 
      <li><a href="#">Help</a></li> 
     </ul> 
     </div> 
    </div> 
    </nav> 

私は前にこの問題に遭遇していない、それは簡単な修正だけで何かだろうように思えます私は見ている。どんな助けもありがとうございます。

答えて

3

urlpatternsは、リスト[...]である必要があります。現在、セット{...}があります。それは次のようになります。

{% url 'adminview' %} 
{% url 'eventview' %} 

あなたが名前空間を使用したい場合は、app_nameは小文字でなければなりません:

urlpatterns = [ 
    url(r'^$', views.admin_view, name='adminview'), 
    url(r'^eventview/$', views.event_view, name='eventview'), 
] 

テンプレート内のURLパターン名が文字列であるとき、あなたは引用符を使用する必要があります。

app_name = 'website' 
url_patterns = [ 
    ... 
] 

あなたは、あなたは問題のおかげで、固定URLタグ

{% url 'website:adminview' %} 
{% url 'website:eventview' %} 
+0

オーケーを使用する場合、名前空間を含める必要があります。なぜあなたはDjangoがその世話をするのに名前空間を使うのですか? –

+0

*なぜ名前空間を使用するのですか?*はここでのコメントに対しては大きすぎます。あなたのコードには 'APP_NAME'がありますが、これは大文字であるため何の効果もありません。 – Alasdair

+0

大丈夫感謝します。 –

関連する問題