我正在尝试在我的Django支持网站的其中一个页面上添加“在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)
知道怎么解决这个问题吗?提前谢谢!
答案 0 :(得分:1)
您的网址中不应包含?
:
url(r'^tweet_link/$', 'portnoy.views.tweet_link'),
您知道只需启动带有此网址的链接即可发送推文:
https://twitter.com/intent/tweet?source=webclient&text=d+twitter+msg+goes+here