2013-02-26 14 views
7

URLを詳細表示に設定する際に問題が発生しました。 <a href='{% url blog_detail blog.slug %}'>{{ blog.name }}</a>のリンクをクリックすると、blog-detail.htmlと表示されたときにblog.htmlと表示されます。エラーはありません。ブラウザのバーには、example.com/blog/the-slugと表示されていますが、まだblog.htmlのhtmlが表示されていますが、blog-detail.htmlではありません。なぜどんなアイデア?あなたのアイデアをありがとう。Django Url、Slug詳細ページ

URL:

url(r'^blog/', 'myapp.views.blog', name='blog'), 
url(r'^blog/(?P<slug>[\w-]+)/$', 'myapp.views.blog_detail', name='blog_detail'), 

ビュー:

def blog(request): 
    blog_list = Blog.objects.all() 
    return render(request, 'blog.html', {'blog_list':blog_list}) 

def blog_detail(request, slug): 
    blog = get_object_or_404(Blog, slug=slug) 
    return render(request, 'blog-detail.html', {'blog':blog}) 

EDIT:@omouse

によって要求された出力は、これは、リンクをクリックしてから出力します。 blog.htmlとまったく同じですが、blog-detail.htmlである必要があります。 Argggg!

<div id='content-wrapper'> 
<section> 
<div class='blog-name'><h2><a href='/blog/test/'>Test</a></h2></div> 
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a ... 

<div class='blog-name'><h2><a href='/blog/second-test/'>Second Test</a></h2></div> 
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a ... 
</section> 
</div> 
+0
+0

はいが既に感謝することを試みたしてみてください。まだ運がありません。何が問題になるかわからない... –

+0

テンプレートの出力は何ですか? –

答えて

22

URLが問題となっている、最初のものはすべて(/blog//blog/test//blog/awdlawdjaawld)と一致します、あなたはだけ試合/blog/にそれの最後にドル記号$を必要としています。

url(r'^blog/$', 'myapp.views.blog', name='blog'), 
url(r'^blog/(?P<slug>[\w-]+)/$', 'myapp.views.blog_detail', name='blog_detail'), 

上記は正しく動作するはずです。

This is a good reference for Regular Expressions

+0

もちろんありがとう! –