यदि उपयोगकर्ता कर्मचारी नहीं है तो फ़ॉर्म फ़ील्ड को कैसे बाहर निकालें? मैं इस कोशिश की, लेकिन काम नहीं किया, एक त्रुटि दे रही है: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
यह त्रुटि आई: 'noneType' ऑब्जेक्ट में कोई विशेषता नहीं है 'is_superuser' – Hamza
इसका मतलब है कि आपके पास उपयोगकर्ता में सक्रिय लॉग इन नहीं है। –