2017-07-22 21 views
-1

私はこの質問がたくさん出てくることを知っていると言って始めますが、私は他のトピックで解決策を見つけることができませんでした。Djangoエラー: ''( ''、) 'が見つかりません。

ページの読み込み中にこのエラーが発生します。

関連するビュー:

def index(request): 
    all_lists = GuestList.objects.all() 
    guest_list = GuestList() 
    for glist in all_lists: 
     guest_list = glist 
    return render(request, 'guestlist/base.html', {'guest_list': guest_list}) 


def guestlist(request, list_id): 
    g_list = get_object_or_404(GuestList, pk=list_id) 
    return render(request, 'guestlist/guestlist.html', {'g_list': g_list}) 

guestlist/urls.py:

app_name = 'guestlist' 

urlpatterns = [ 

    # /guestlist/ 
    url(r'^$', views.index, name='index'), 
    # /guestlist/#/ 
    url(r'^(?P<list_id>[0-9]+)/$', views.guestlist, name='guestlist'), 
    # /guestlist/#/isclose/ 
    url(r'^(?P<list_id>[0-9]+)/isclose/$', views.isclose, name='isclose'), 
] 

エラーが発生した時にHTMLフラグメント:

テンプレート:

{% load staticfiles %} 
 

 
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>{% block title %} SitDown {% endblock %}</title> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/> 
 
    <link rel="stylesheet" type="text/css" href="{% static 'guestlist/style.css' %}"/> 
 
    <link href="https://fonts.googleapis.com/css?family=Abel|Galdeano" rel="stylesheet"/> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 
</head> 
 
<body> 
 
<nav class="navbar navbar-default"> 
 
    <div class="container-fluid"> 
 
     <!-- Header --> 
 
     <div class="navbar-header"> 
 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#topNavBar"> 
 
       <span class="icon-bar"></span> 
 
       <span class="icon-bar"></span> 
 
       <span class="icon-bar"></span> 
 

 
      </button> 
 
      <a class="navbar-brand" href="{% url 'guestlist:index' %}">Sit Down</a> 
 
     </div> 
 

 
     <!-- Items --> 
 
     <div class="collapse navbar-collapse" id="topNavBar"> 
 
      <ul class="nav navbar-nav"> 
 
       <li class="active"> 
 
        <a href="{% url 'guestlist:guestlist' guest_list.id %}"> 
 
         <span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span>&nbsp; 
 
         Guest List 
 
        </a> 
 
       </li> 
 
       <li class=""> 
 
        <a href="#"> 
 
         <span class="glyphicon glyphicon-th" aria-hidden="true"></span>&nbsp; 
 
         Seating 
 
        </a> 
 
       </li> 
 
       <li class=""> 
 
        <a href="#"> 
 
         <span class="glyphicon glyphicon-check" aria-hidden="true"></span>&nbsp; 
 
         Checklist 
 
        </a> 
 
       </li> 
 
       <li class=""> 
 
        <a href="#"> 
 
         <span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>&nbsp; 
 
         Help 
 
        </a> 
 
       </li> 
 
      </ul> 
 
      <form class="navbar-form navbar-left" role="search" method="get" action="#"> 
 
       <div class="form-group"> 
 
        <input type="text" class="form-control" name="q" value=""> 
 
       </div> 
 
       <button type="submit" class="btn btn default">Search</button> 
 
      </form> 
 
     </div> 
 
    </div> 
 
</nav> 
 
{% block body %} 
 

 
{% endblock %} 
 
</body> 
 
</html>

すべてが整然としているようです。 idは渡され、 'guestlist()'関数に渡されますが、それでもエラーは出ます。

ビュー 'index()'は 'base.html'をレンダリングしますが、例外はで発生します。

編集:<a href="{% url 'guestlist:guestlist' 2 %}">それは動作します:

私はこのようなリストIDをハードコーディングするときようです。しかし、私は動的にそれをしません。変数とインスタンスが同じURLを提供しているかどうかを確認しました。

+0

"HTML断片"を投稿することはありません。この部分はどのテンプレートですか?どのビューがレンダリングされていますか?また、インデックスビューでは全く意味がないことにも注意してください。あなたはそこにテンプレートにどのような価値を送っていると思いますか? –

+0

が編集されました。また、私はインデックスが冗長であることを認識していますが、私はチュートリアルで作業していました。私はまだDjangoを試して、それを学んでいます。 – mrpink121

+0

あなたはまだ十分な情報を投稿していません。そのテンプレートの残りの部分はどこですか?特に、 'guest_list'はどこから来ましたか?あなたは何らかのforループを持っていますか?そうなら、* post it *。 (そして、私は、インデックスビューが冗長であったとは言いませんでした、それからずっと、コードが意味をなさないように。) –

答えて

0

1)ご質問のタイトルによると、GuestListモデルには何も記入されていません。

2)常にのような数字の一致のURLの正規表現で\d+を使用します。 は例:あなたがguestlistのリストを渡しているとして、あなたがそれを反復する必要があり、(?P<list_id>\d+) HTMLで

0

def index(request): 
    guest_list = GuestList.objects.all() 
    return render(request, 'guestlist/base.html', {'guest_list': guest_list}) 

とHTMLページで

<body> 
{% for guest in guest_list %} <-- Start LOOP 
    <a href="{% url 'guestlist:guestlist' guest.id %}"> <--- Individual Guest ID 
{% endfor %} <-- End LOOP 
</body> 

これで、個々のIDを取得してURLに沿ってあなたのrespecに渡すことができますこれが必要な場合は、ビュービューguestlistを表示します。

+0

私はうまく動作し、リスト内のゲストを印刷するページを持っています。問題はそれがリスト自体を取得していないということです。そのため、インデックスビューでそれを繰り返し、base.html – mrpink121

+0

に渡して、それぞれの 'guest_id'にアクセスする必要があります。 – Bijoy

+0

リスト全体を取得するには、 'guest_list'はすでにゲストのリストです。 – Bijoy

関連する問題