0

使用Django Reddit Style Voting Tutorial,并收到此错误。建立一个问答风格的网站,显示一个主题,然后是与该主题相关的问题,然后是与问题相关的答案。

TypeError at /home/1/
object_list() got an unexpected keyword argument 'movie_id'

这是我的代码

#urlconf
url(r'^$', 'index'),
url(r'^(?P<movie_id>\d+)/$', object_list, dict(queryset = Question.objects.all(), 
        template_object_name = 'question', template_name = 'qanda/questions.html', 
        paginate_by = 15, allow_empty = True)),

我的索引视图列出了所有主题并呈现在 index.html 上,然后每个主题都有一个 ID,然后与该 ID 关联的问题将呈现在下一页 questions.html 上。

#index.html
{% if latest_movie_list %}
    {% for movie in latest_movie_list %}
        <li><a href="/home/{{ movie.id }}/">{{ movie.title }}</a></li>
{% endfor %}

如何修复错误?我需要movie_id b/c,这就是我呈现带有相关问题的下一页的方式,但我无法拉出下一页。

4

1 回答 1

1

我自己经历了那些过时文档的痛苦。这是我如何让它工作的:

如何在不使用原始 sql 的情况下使用 Django 连接两个表?

此外,您可能希望将其添加到投票/urls.py

 url(r'^links/(?P<object_id>\d+)/(?P<direction>up|down|clear)vote/?$',                                                                                                                
     vote_on_object,                                                                                                                     
     dict(                                                                                                                               
         model=Movie,                                                                                                                     
         template_object_name='link',                                                                                                    
         template_name='movie/link_confirm_vote.html',                                                                                    
         allow_xmlhttprequest=True,                                                                                                      
         ),                                                                                                                              
     name="link_vote",)                                                                                                                  
于 2012-11-09T04:26:46.437 回答