【问题标题】:how to Set default value for author field in django form using views.py如何使用views.py在django表单中设置作者字段的默认值
【发布时间】:2020-08-22 11:22:05
【问题描述】:

我正在开发一个社交网站我在创建新帖子时遇到问题我不知道如何将作者姓名设置为登录用户的默认设置它总是为所有以前登录的用户提供选项我想将其设为登录用户的默认设置在用户中,我不知道如何为该作者字段设置默认值

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 '})

    }

modelsls.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)

【问题讨论】:

    标签: python mysql django templates frontend


    【解决方案1】:

    你可以尝试定义 get_initial。

    def get_initial(self, *args, **kwargs):
            initial = super(CreatePostView, self).get_initial(**kwargs)
            initial['author'] = 'default author'
            return initial
    

    【讨论】:

    • 你能分享你的模板吗?
    • 我有多个你想要的模板
    • dpaste.org/3vhK 这是我创建帖子的模板,我必须选择我想默认的作者
    猜你喜欢
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 2011-12-16
    • 2023-03-08
    • 2020-07-13
    • 2010-10-10
    相关资源
    最近更新 更多