如何在javascript中引用django变量?

如何在javascript中引用django变量?,django,django-templates,Django,Django Templates,我正在处理一个项目,该项目要求我使用view.py模板中变量中包含的值。我需要在javascript中使用该变量。有人知道如何将变量从django传递到JS吗 这是我在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

我正在处理一个项目,该项目要求我使用view.py模板中变量中包含的值。我需要在javascript中使用该变量。有人知道如何将变量从django传递到JS吗

这是我在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)
@需要登录\u
@从不缓存\u头
def user_提要(请求,用户=None,扩展=None):
#确保我们有一个用户
如果用户为无:
user=request.user
prof=user.get_profile()
elif isinstance(用户,基串):
用户=获取对象或404(用户,id=用户)
#生成作者列表
作者ID=[]
author\u id.append(user.id)
#检查用户是否希望查看好友配置文件
是朋友=友谊。对象。是朋友(用户,请求。用户)
#确定日期
now=datetime.datetime.now()
今天=现在。日期()
如果now.time()
我基本上需要将request.user.id或user.id传递给Javascript

编辑


实际上,我更愿意将其作为自己的小元素json数组传递给javascript,如果可能的话

可能有点明显,但是:

<script type="text/javascript">
    var userId = {{ user.id|default:null }};
</script>

var userId={user.id |默认值:null};

或者,如果使用jQuery,请查看.data()方法在DOM中存储数据,而不是将其声明为全局变量。但是,真的,即使你使用了一个全球卫星,天空也不会塌下来。我设置了默认值:'null',以便更容易在JSI中处理该解决方案的解析错误:无效的属性id[Break on this error]var userId={{request.user.id | default:0}\在django端,我需要做些什么来确保它可以在JS中引用吗?django中的
RequestContext
应该为您提供
request.user
。既然您已经提供了
user
,您也可以使用它。