0

Djangoを利用したサイトのページの1つに「Twitterで共有」機能を追加しようとしています。link_page.htmlの関連部分は次のとおりです。

<a class="tweet_link metaSpacing" data-link_id={{ link.id }}>Share on Twitter</a>   

イベントのリッスンを担当するJavaScriptの部分は次のとおりです。

// tweet_link
$('.tweet_link').click(function(e){
    link_id = $(this).attr('data-link_id');
    var target = $(this);
    tweetLink(target);
});

function tweetLink(t){
    link_id = t.attr('data-link_id');
    $.ajax({
        type: "POST",
        data: { "link_id": link_id, "csrfmiddlewaretoken": csrfmiddlewaretoken},
        url: "/tweet_link",
    });     
};  

Djangoでは、urls.pyの最後に次の行を追加しました。

url(r'^tweet_link/?$', 'portnoy.views.tweet_link'),

そして、これがDjangoビュー自体です。

# tweet the link
def tweet_link(request):
    c = RequestContext(request)
    twitter = Twython(
        twitter_token = TWITTER_KEY,
        twitter_secret = TWITTER_SECRET,
        oauth_token = request.session['request_token']['oauth_token'],
        oauth_token_secret = request.session['request_token']['oauth_token_secret']
    )
    twitter.updateStatus(status="See how easy this was?")
    return HttpResponse('')

ただし、[Twitterで共有]リンクをクリックするとどうなりますか?Chromeコンソールで次のエラーが発生します。

POST http://127.0.0.1:8000/tweet_link 404 (NOT FOUND) 

これを修正する方法はありますか?前もって感謝します!

4

1 に答える 1

1

あなたのURLはそれに含まれるべきではありません?

url(r'^tweet_link/$', 'portnoy.views.tweet_link'),

このURLでリンクを起動するだけで、何かをツイートできることをご存知でしょう。

https://twitter.com/intent/tweet?source=webclient&text=d+twitter+msg+goes+here
于 2012-08-07T23:42:31.790 に答える