2
我正在开发一个项目,需要我使用view.py模板中的变量中包含的值。我需要在我的JavaScript中使用该变量。有谁知道一个正确的方式来从Django传递一个变量到JS?如何在javascript中引用django变量?
这是我在views.py
@login_required
@never_cache_headers
def user_feed(request, user=None, extension=None):
# Ensure we have a user
if user is None:
user = request.user
prof = user.get_profile()
elif isinstance(user, basestring):
user = get_object_or_404(User, id=user)
# Build author list
author_ids = []
author_ids.append(user.id)
# Check if user if friend to profile being viewed
are_friends = Friendship.objects.are_friends(user, request.user)
# Determine Date
now = datetime.datetime.now()
today = now.date()
if now.time() < datetime.time(3):
start_dt = datetime.datetime.now() - datetime.timedelta(hours=settings.FEEDITEM_BUFFER_HOURS)
else:
start_dt = datetime.datetime(today.year, today.month, today.day)
# Build up the where query
where = []
if user.id != request.user.id:
where.append({'ping_type':'public'})
if are_friends:
where.append({'ping_type': 'friends_only'})
where.append({'ping_type': 'invite_only', 'invite_list': request.user.id})
where = {'$or': where}
else: where = {} # Vanity check - show all pings by author
where['author'] = { '$in' : author_ids }
where['starts'] = { "$gt":start_dt }
where['deleted'] = { "$ne": True }
# print "User View Where = ", where
feeditems, has_more = ds.Feed.feeditems(request, where)
feeditems = ds.FeedItem.prepare(feeditems)
friend_requested = FriendshipInvitation.objects.is_friend_requested(request.user, user)
if extension:
if extension == 'json':
return http.HttpResponse(json.dumps(feeditems, indent=2, default=json_handler),
mimetype='application/json')
else:
return render_to_response("social/feeditems_list.html", {
'feeditems':feeditems,
'user':user,
'has_more':has_more,
'section':'user_feed',
'are_friends':are_friends,
'friend_requested':friend_requested,
}, request)
功能基本上,我需要通过request.user.id或user.id为JavaScript。
编辑
其实,我宁愿把它传递给JavaScript作为自己的小一个元素JSON数组,如果多数民众赞成可能
或者,如果您使用的是jQuery,请查看.data()方法将数据存储在DOM中,而不是将其声明为全局变量。但是,即使你使用全球化,天空也不会倒下。我会设置默认值:'null',以便更容易在JS – 2010-09-28 22:21:10
中处理我得到一个解析错误,该解决方案:无效的属性ID [打破这个错误] var userId = {{request.user.id |默认:0}}; \ n – Sachin 2010-09-28 22:27:07
有什么我需要做的Django端,以确保它可以在JS中引用? – Sachin 2010-09-28 23:08:16