如果用戶不是工作人員,如何排除表單域?我試過,但沒有工作,給了一個錯誤:Django:如果用戶是員工,如何排除表單域?
global name 'user' is not defined
class PostForm(ModelForm):
class Meta:
model = Photo
exclude = ['author','featured','published']
def __init__(self, *args, **kwargs):
published = kwargs.pop('published', None)
super(PostForm, self).__init__(*args, **kwargs)
if not user.is_staff:
del self.fields['published']
view.py
def addpost(request):
if request.method == 'POST':
form = PostForm(request.POST,request.FILES,user=request.user)
if form.is_valid():
post = form.save(False)
post.author = request.user
form.save()
return HttpResponseRedirect(reverse('insight.content.views.index',))
else:
form = PostForm(user=request.user)
ispost = True
return render_to_response('form_add_place.html', {'form': form,'ispost':ispost},context_instance=RequestContext(request))
對不起,我沒有得到它,我添加了這個「my_form = PostForm(user = request.user)」我的看法,並修復了__init__函數,但另一個錯誤出現了,我將在這裏編輯我的問題來添加更多的數據! – Hamza 2012-03-28 08:46:06
出現此錯誤:'NoneType'對象沒有屬性'is_superuser' – Hamza 2012-03-28 08:54:04
這意味着您沒有活動的登錄用戶。 – 2012-03-28 08:57:26