Django 1.6 - 在url中发送参数,引发url miss match错误?

时间:2014-06-11 19:23:46

标签: python django url

我在html文件中有一个项目列表,如下所示:

{% extends 'base.html' %}
{% block Content %}
   <div id="movie_list">
      {% for movie in movies %}
         <p class="movie-title"><a href="/movie/{{ movie.slug }}/">{{ movie.name }}</a> </p>
      {% endfor %}
</div> {% endblock %}

显示电影名称列表,此列表中的每个项目都是链接!我尝试根据href标记中的<a>属性向服务器发送请求以查看特定的电影。

模型处理此请求如下:

def SpecificMovie(request, movie_slug):
    movie = Movie.objects.get(slug=movie_slug)
    context = {'movies': movie}
    return render_to_response('single_movie.html', context, context_instance=RequestContext(request))

根据传递给它的movie_slug响应请求!

single_movie.html文件如下:

{% extends 'base.html' %}

{% block Content %}
  <div id="single_moive">
    <p class="movie-title">Name: {{ movies.name }}</p>

    <p class="movie-title">Des: {{ movies.description }}</p>

    <p class="movie-title">Country: {{ movies.country }}</p>
  </div>
{% endblock %}

和我的urlpatterns var如下:

urlpatterns = patterns('', 
                   (r'^$', TemplateView.as_view(template_name='index.html')),
                   (r'^admin/', include(admin.site.urls)),
                   (r'^movie/$', 'movie_page.views.MoviesAll'),
                   (r'^movie/(?P<movie_slug>.)/$', 'movie_page.views.SpecificMovie'),
)

但是当我点击每个项目时会收到​​错误,说明网址模式中存在未命中匹配。页面快照如下: error 404

你可以看到一切似乎都好!但我不知道问题是什么!我阅读了以下链接(link1link2link3),但感谢您提出任何意见。

1 个答案:

答案 0 :(得分:3)

正则表达式(?P<movie_slug>.)匹配单个字符。您可能需要(?P<movie_slug>.+)