Django 1.5 및 Django Admin을 사용하여 블로그 엔진 작성하기.Django Admin Issue - 'NoneType'객체에 'user'속성이 없습니다.
이'NoneType' object has no attribute 'user'
(전체 스택을 더 추적 : 나는 모델에 ManyToManyField을 추가하고, ModelAdmin의 필드 셋에 해당 필드를 추가 할 때까지 모든 것이 괜찮다고, 그때는 관리자 페이지를로드하려고이 신비 오류가 발생하기 시작 왜 응답 객체가 갑자기 None이 될까요? 필드 집합에서 필드를 제거하면 모든 것이 다시 정상적으로 작동합니다.
class Tag(models.Model):
name = models.CharField(max_length=30)
class Post(models.Model):
title = models.CharField(max_length=300)
tags = models.ManyToManyField(Tag)
author = models.CharField(max_length=100)
그리고 ModelAdmin 조금 다음과 같습니다 :
내 모델이 (제거 분야의 많은) 같은 비트가 보일
class PostAdmin(admin.ModelAdmin):
# Order
fieldsets = (
('Content', {
'fields': ('title', 'tags')
}),
)
def formfield_for_dbfield(self, db_field, request, **kwargs):
# Pre-fill 'author' with logged in name
if db_field.name == "author":
kwargs['initial'] = "%s %s" % (request.user.first_name, request.user.last_name)
return db_field.formfield(**kwargs)
return super(PostAdmin, self).formfield_for_dbfield(db_field, **kwargs)
을 내가 제거 할 때이 태그의에서 '입니다 모든 것이 잘 돌아가는 필드 세트. 그것은 몇 가지 간단한 장고 관리자 실수하고있어, 전에 많이 사용하지 않은 수 있지만 가장 좋은 내가 찾은 수있는 버그를 3 년 전에 고정 된 버그, 그리고 나는 1.5를 실행 해요 확신 해요. .1.
다음은 전체 스택 추적입니다 : 귀하의 요청을 삼키는
Internal Server Error: /theadmin/blog/post/1/
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 115, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py", line 372, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\utils\decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\views\decorators\cache.py", line 89, in _wrapped_view_
unc
response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py", line 202, in inner
return view(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\utils\decorators.py", line 25, in _wrapper
return bound_func(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\utils\decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\utils\decorators.py", line 21, in bound_func
return func(self, *args2, **kwargs2)
File "C:\Python27\lib\site-packages\django\db\transaction.py", line 223, in inner
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py", line 1081, in change_view
ModelForm = self.get_form(request, obj)
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py", line 465, in get_form
return modelform_factory(self.model, **defaults)
File "C:\Python27\lib\site-packages\django\forms\models.py", line 424, in modelform_factory
return type(form)(class_name, (form,), form_class_attrs)
File "C:\Python27\lib\site-packages\django\forms\models.py", line 212, in __new__
opts.exclude, opts.widgets, formfield_callback)
File "C:\Python27\lib\site-packages\django\forms\models.py", line 170, in fields_for_model
formfield = formfield_callback(f, **kwargs)
File "E:\Dropbox\PassionateAbout\PassionateAboutJustice\blog\admin.py", line 35, in formfield_for
dbfield
return super(PostAdmin, self).formfield_for_dbfield(db_field, **kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py", line 125, in formfield_for_
bfield
related_modeladmin.has_add_permission(request))
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py", line 284, in has_add_permis
ion
return request.user.has_perm(opts.app_label + '.' + opts.get_add_permission())
AttributeError: 'NoneType' object has no attribute 'user'
__File "E : \ 드롭 박스 \ PassionateAbout \ PassionateAboutJustice 블로그 \의 admin.py \", 라인 (35) in formfield_for dbfield__ :이 방법을 재정의 했습니까? – Ricola3D
예, 이전에 잘 작동 했으므로 그 코드를 생략했지만 스택 추적에서 놓쳤습니다. 내가 포함하도록 내 게시물을 편집했습니다. – DizzyDoo