Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 在url/模板中获取/嵌入用户id_Django - Fatal编程技术网

Django 在url/模板中获取/嵌入用户id

Django 在url/模板中获取/嵌入用户id,django,Django,我是django的新手,我想更新django数据库中的一些内容 为此,我编写了一个小视图函数。看起来像这样 def status_change(request,id): instance = get_object_or_404(register,id=id) if request.method == 'POST': rform = registerForm(instance=instance, data=request.POST) if rform.i

我是django的新手,我想更新django数据库中的一些内容 为此,我编写了一个小视图函数。看起来像这样

def status_change(request,id):
    instance = get_object_or_404(register,id=id)
    if request.method == 'POST':
       rform = registerForm(instance=instance, data=request.POST)
       if rform.is_valid():
          instance = rform.save()
          return render_to_response('home.html')
    else:
        rform = registerForm(instance=instance)
        return render_to_response('status_change.html',{'rform':rform}) 
      (r'^status/(?P<id>\d+)$', views.status_change),
我想把这个“id”从模板传递到“视图”。 我的头发像这样脱落

def status_change(request,id):
    instance = get_object_or_404(register,id=id)
    if request.method == 'POST':
       rform = registerForm(instance=instance, data=request.POST)
       if rform.is_valid():
          instance = rform.save()
          return render_to_response('home.html')
    else:
        rform = registerForm(instance=instance)
        return render_to_response('status_change.html',{'rform':rform}) 
      (r'^status/(?P<id>\d+)$', views.status_change),
(r'^status/(?P\d+)$,views.status\u change),
当我使用

      (r'^status/(?P<id>\d+)$', views.status_change, name ='status_change'),
(r'^status/(?P\d+)$,views.status\u change,name='status\u change'),
它在这一行中以语法错误的形式出现
在我的模板中,我有

<a href = "/status/{{user.id}}">Change Status</a>

但这一切都不是从模板/url获取id 我在什么地方出错了吗。任何帮助都将不胜感激


提前感谢

您没有给它任何东西可以从
用户
获得。向其传递一个
RequestContext

并使用
{%url%}


语法错误的原因是元组不能有命名参数。也许你想要
url()

你没有给它任何东西可以从
user
获得。向其传递一个
RequestContext

并使用
{%url%}


语法错误的原因是元组不能有命名参数。也许你想要
url()

如果你需要当前用户的id,你也可以使用django的请求上下文处理器,这样你就可以通过
{request.user.id}
访问它。如果你需要当前用户的id,你也可以使用django的请求上下文处理器,这使您能够通过
{{request.user.id}

访问它,谢谢大家 我有一个简单的方法,但我不知道这是一个好的做法还是没有 而不是从模板/URL获取用户id 我简单地把这个东西放在我的代码中,它工作得很好

def status_change(request):
    instance = get_object_or_404(register,pk=request.user.id)
谢谢大家 我有一个简单的方法,但我不知道这是一个好的做法还是没有 而不是从模板/URL获取用户id 我简单地把这个东西放在我的代码中,它工作得很好

def status_change(request):
    instance = get_object_or_404(register,pk=request.user.id)

任何片段或示例请任何片段或示例请强烈支持使用上下文处理器在所有视图/模板中提供“标准值”的想法。它确实减少了传递的冗余值的数量。Checkout RequestContext—我强烈支持使用上下文处理器使“标准值”在所有视图/模板中都可用的想法。它确实减少了传递的冗余值的数量。签出请求上下文-