как установить значение по умолчанию для поля автора в форме django с помощью views.py - PullRequest
0 голосов
/ 07 мая 2020

Я разрабатываю социальный веб-сайт. У меня проблема с созданием нового сообщения. Я не знаю, как установить имя автора по умолчанию для вошедшего в систему пользователя. Он всегда дает возможность для всех ранее вошедших в систему пользователей. Я хочу сделать его по умолчанию для зарегистрированных. у пользователя я не знаю, как установить значение по умолчанию для этого поля автора

views.py

class CreatePostView(LoginRequiredMixin,CreateView):
login_url = '/login/'
redirect_field_name = 'blog/post_detail.html'
form_class = PostForm
model = Post

forms.py

class PostForm(forms.ModelForm):


class Meta():
    model = Post

    fields = ('author','title','text','Post_image')
    widgets = {
        'title':forms.TextInput(attrs={'class':'textinputclass'}),
        'text':forms.Textarea(attrs={'class':'editable medium-editor-textarea postcontent '})

    }

Models.py

class Post(models.Model):
    author = models.ForeignKey('auth.User',on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    Post_image= models.ImageField(upload_to='media' ,blank=True ,editable=True)
    created_date = models.DateTimeField(default=timezone.now())
    published_date = models.DateTimeField(blank=True,null=True)

1 Ответ

0 голосов
/ 07 мая 2020

вы можете попробовать определить get_initial.

def get_initial(self, *args, **kwargs):
        initial = super(CreatePostView, self).get_initial(**kwargs)
        initial['author'] = 'default author'
        return initial
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...