2012-04-20 5 views
0

リンク:ジャンゴ:私は私のテンプレートでこれを持ってどのようにDjangoのテンプレートを使用したときにページを配置すると

<div id="comment-{{ post_comment.id }}"> 
<a title="Comment was useful" href="/useful-comment/{{ blog_post.id }}/{{ post_comment.id }}/"> 

ユーザーがこのリンクをクリックすると、メソッドuseful_comment(blog_post_id、post_comment_id)が呼び出さとでていますそれが戻ったときに同じテンプレートを再度ロードします。

arguments = dict(user = request.user, blog_post = blog_post) 

t = loader.get_template('blog-post-template.html') 
c = RequestContext(request, args) 
return HttpResponse(t.render(c)) 

これはDjango: How do I position a page when using Django templatesに関連しているが、その中:{{post_comment.id}}が、私はそうのように私のテンプレートを読み込む場合は、そのどのように行うのか - 私は、ある#Commentまでページをスクロールしたいです彼らはフォームを使用しており、ページの静的セクションにスクロールするだけです。

+1

[{%url ...%}](https://docs.djangoproject.com/ja/dev/ref/templates/builtins/?from=olddocs#url)を使用していないのはなぜですか?テンプレート? –

+0

提案ありがとう:)私はちょうどDjangoを使い始めています。 – Felipe

+0

問題ありません! [チュートリアル](https://docs.djangoproject.com/en/dev/intro/tutorial01/)を見逃さないでください。 –

答えて

0

#anchorをリンクのhrefに追加する必要があります。あなたのケースでは、すべてのあなたのコメントのための異なるアンカー(例えば<a name="comment_123"></a>)がありますので、リンクポイントが正しいアンカーになるようにしてください。

これはDjangoとは関係ありません。良い古いHTMLだけです。

+0

HttpResponseオブジェクトが返されると、アンカーが失われ、そのため質問が表示されます。返信HttpResponseRedirect( '/ blog-post /%s#コメント - %s'%(blog_post.id、post_comment.id)) '答えが正しいとします。 – Felipe

+0

私はあなたのアイデアを得たようです。あなたの「役に立つコメント」は何かをしています。次に、何も表示しないで、リダイレクトを返します。あなたが言ったとおりに正確にすることができます。ビューは常に分離する必要があります。つまり、データを表示するビューと、データを更新するビューです。また、良い習慣はPOSTリクエスト(あなたのケースではハイパーリンクの代わりにボタン付きのPOSTableフォームになります)を更新することです。そうでなければあなたはXSS攻撃に対して脆弱です。 – ilvar

+0

私はあなたに同意します。私は昨日のチュートリアルの多くを読んでいたので、私はこれをやるべき方法でやっていないことに気付きました。提案していただきありがとうございます。 – Felipe

関連する問題