Как добавить автоматическую передачу имени пользователя в форму? Python Django

мне необходимо заполнить поле автора для формы автоматически для авторизованных пользователей. Также при отправке формы происходит ошибка из за нехватки обязательного поля slug. Есть возможность заранее заполнить поля author и slug и отправить их вместе с остальными данными в бд? Спасибо. Форма

Код из views:

class CreatePost(CreateView):
        form_class = NewPostForm
        template_name = 'blog/add_post.html'
    
        def get_context_data(self, *, object_list=None, **kwargs):
            context = super().get_context_data(**kwargs)
            context['title'] = 'Add post'
            return context

Код из models:

class Post(models.Model):
            title = models.CharField(max_length=100, verbose_name='Заголовок')
            slug = models.SlugField(max_length=100, unique=True, verbose_name='URL')
            author = models.CharField(max_length=100, verbose_name='Автор')
            content = models.TextField(blank=False, verbose_name='Контент')
            photo = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True, verbose_name='Фото')
            views = models.IntegerField(default=0, verbose_name='Просмоторы')
            created_at = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
            updated_at = models.DateTimeField(auto_now=True, verbose_name='Дата обновления')
            is_published = models.BooleanField(default=False, verbose_name='Опубликовано')
            category = models.ForeignKey(Category, on_delete=models.PROTECT, related_name='posts', verbose_name='Категория')
            tags = models.ManyToManyField(Tag, blank=True, related_name='posts', verbose_name='Теги')
        
            def __str__(self):
                return self.title
        
            def get_absolute_url(self):
                return reverse('post', kwargs={'slug': self.slug})
        
            class Meta:
                verbose_name = 'Статья'
                verbose_name_plural = 'Статьи'
                ordering = ['-created_at']

Код из админки:

class PostAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title',)}

    list_display = ('id', 'title', 'slug', 'author', 'get_photo', 'views', 'created_at', 'updated_at', 'is_published', 'category')
    list_display_links = ('id', 'title')
    search_fields = ('title', 'content')
    list_editable = ('is_published', )
    list_filter = ('is_published', 'category', 'tags')
    readonly_fields = ('views', 'created_at', 'updated_at', 'get_photo')
    fields = ('title', 'slug', 'content', 'author', 'get_photo', 'photo', 'views', 'created_at', 'updated_at', 'category', 'tags', 'is_published')

    def get_photo(self, obj):
        if obj.photo:
            return mark_safe(f'<img src="{obj.photo.url}" width="50">')
        return '-'

    get_photo.short_description = 'Фото'
Вернуться на верх