A cleaner way to hide the author
from the form would be
class AddNewsForm(ModelForm):
class Meta:
model = News
exclude = ('author', )
and in the views:
@login_required
def myView(request):
#some code here
if request.POST:
form = AddNewsForm(request.POST)
if form.is_valid():
news = form.save(commit=False)
news.author = request.user
news.save()
#rest of the code
and let the template load the default way {{ form.as_p }}