Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 在呈现之前,将表单“作者”字段设置为登录用户_Django - Fatal编程技术网

Django 在呈现之前,将表单“作者”字段设置为登录用户

Django 在呈现之前,将表单“作者”字段设置为登录用户,django,Django,我想将表单“author”字段models.ForeignKeyUser的默认值设置为当前登录的用户。我希望在保存条目之前执行此操作,以便在创建条目时,用户不必为表单验证而选择自己 我尝试在form init函数中设置值,但是没有对请求对象的引用,所以看起来不可能 我没有为此应用程序使用django管理面板。在视图中处理表单时,可以设置author属性。请注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段: def submit_form(request)

我想将表单“author”字段models.ForeignKeyUser的默认值设置为当前登录的用户。我希望在保存条目之前执行此操作,以便在创建条目时,用户不必为表单验证而选择自己

我尝试在form init函数中设置值,但是没有对请求对象的引用,所以看起来不可能


我没有为此应用程序使用django管理面板。

在视图中处理表单时,可以设置author属性。请注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段:

def submit_form(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            submission = form.save(commit=False)
            submission.author = request.user
            submission.save()
            return http.HttpResponseRedirect('submitted/')
    else:
        form = MyForm()

  context = Context({'title': 'Submit Form', 'form': form, 'user': request.user})
  return render_to_response('form.html', context)

在视图中处理表单时,可以设置author属性注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段:

def submit_form(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            submission = form.save(commit=False)
            submission.author = request.user
            submission.save()
            return http.HttpResponseRedirect('submitted/')
    else:
        form = MyForm()

  context = Context({'title': 'Submit Form', 'form': form, 'user': request.user})
  return render_to_response('form.html', context)
为我工作,默认情况下:

这将在“作者”下拉列表中为未绑定表单设置初始值,用户仍可以在编辑时对其进行更改

为我工作,默认情况下:


这将在“作者”下拉列表中为未绑定表单设置初始值,用户仍可以在编辑时对其进行更改

似乎不起作用,我尝试了form=EntryForminitial={'author':request.user.username}和form=EntryForminitial={'author':request.user}似乎不起作用,我尝试了form=EntryForminitial={'author':request.user.username}和form=EntryForminitial={'author':request.user}