gpt4 book ai didi

django - Django 用户错误 : "AttributeError: ' User' object has no attribute 'get' "

转载 作者:行者123 更新时间:2023-12-02 07:04:09 27 4
gpt4 key购买 nike

我 50 小时前刚刚开始使用 Django 和 Python ;-) 所以这可能很简单,但我陷入了困境。

我在我的项目中使用类似的“创建” View 和类似的表单实现,没有任何问题。在这种情况下,我收到上述错误。

我正在使用 Pinax...

2   from django.shortcuts import render_to_response, get_object_or_404
3 from django.template import RequestContext
4 from django.http import HttpResponseRedirect
5 from django.core.urlresolvers import reverse
6 from django.contrib.auth.models import User
7 from django.contrib.auth.decorators import login_required
8 from django.utils.translation import ugettext_lazy as _
9
10 from django.conf import settings
11
12 if "notification" in settings.INSTALLED_APPS:
13 from notification import models as notification
14 else:
15 notification = None
16
17 from location.models import Location
18 from location.forms import LocationForm, LocationUpdateForm
19
20
21 @login_required
22 def create(request, form_class=LocationForm, template_name="location/create.html"):
23 location_form = form_class(request.user, request.POST or None)
24
25
26
27 if location_form.is_valid():
28 location = location_form.save(commit=False)
29 location.creator = request.user
30 location.save()
31 return HttpResponseRedirect(location.get_absolute_url())
32
33 return render_to_response(template_name, {
34 "location_form": location_form,
35 }, context_instance=RequestContext(request))

Traceback (most recent call last):
File "/Users/philgo20/code/LeadMiner/django/core/servers/basehttp.py", line 636, in __call__

File "/Users/philgo20/code/LeadMiner/django/core/handlers/wsgi.py", line 241, in __call__

File "/Users/philgo20/code/LeadMiner/django/core/handlers/base.py", line 134, in get_response

File "/Users/philgo20/code/LeadMiner/django/core/handlers/base.py", line 154, in handle_uncaught_exception

File "/Users/philgo20/code/LeadMiner/django/core/handlers/base.py", line 92, in get_response

File "/Users/philgo20/python/django/trunk/django/contrib/auth/decorators.py", line 78, in __call__
return self.view_func(request, *args, **kwargs)
File "/Users/philgo20/code/jezam_kms/apps/location/views.py", line 27, in create
if location_form.is_valid():
File "/Users/philgo20/code/LeadMiner/django/forms/forms.py", line 120, in is_valid

File "/Users/philgo20/code/LeadMiner/django/forms/forms.py", line 111, in _get_errors

File "/Users/philgo20/code/LeadMiner/django/forms/forms.py", line 234, in full_clean

File "/Users/philgo20/code/LeadMiner/django/forms/widgets.py", line 170, in value_from_datadict

AttributeError: 'User' object has no attribute 'get'

最佳答案

views.py 的第 23 行,您将 request.user 作为第一个参数传递给 LocationForm 的实例化。

第一个参数应该是 request.POST 除非您的表单已覆盖 __init__() 方法。

关于django - Django 用户错误 : "AttributeError: ' User' object has no attribute 'get' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1916593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com