小编jer*_*ord的帖子

Django 中有 VideoField 之类的东西吗?

所以我最近一直在制作一个网站,我想要一种让人们上传视频并让我展示它们的方式,就像我使用ImageField. 然而我发现那VideoField不是一回事。FileField到目前为止我已经使用过,它正在上传到正确的文件夹,但是我不知道如何像ImageField.

我想使用专门为视频文件制作的东西,但到目前为止我还没有在网上找到任何关于 VideoFiles 的信息。

这是我的模型。

class Post(models.Model):
    # ... other things here
    video_file = models.FileField(upload_to='post_files',blank=True,null=True)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:VideoFileDjango 中有吗?

python django django-models django-forms

4
推荐指数
1
解决办法
2379
查看次数

迭代 ManyToMany 字段 Django

我在迭代 ManyToMany 字段时遇到一些问题。我想要一个 Post 和 Tag 模型,并让 Post 模型以 ManyToMany 关系的形式扩展 Tag 模型。

以下是我的TagPost模型。

class Tag(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return f"{self.name}"

class Post(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=150)
    content = RichTextField()
    timestamp = models.DateTimeField(auto_now_add=True)
    slug = models.SlugField(unique=True,default="",max_length=1000)
    tag = models.ManyToManyField(Tag,related_name='tags',blank=True)

    # .... other non related functions

Run Code Online (Sandbox Code Playgroud)

但是,当我在 Django shell 中时,尽管对象具有与其关联的标签,但我似乎无法循环这些标签。

例如,我会这样做post1 = Post.objects.all()[0],然后post1.tag.name.all(),但是它会给我一个错误"AttributeError: 'NoneType' object has no attribute 'all'

我尝试过的其他一切都失败了。我可以修复什么来解决这个问题?

先感谢您

python django django-templates django-models

2
推荐指数
1
解决办法
2482
查看次数

如何在特定时间向用户显示消息 Django

我想知道如何在 Django 中的某个时间在屏幕顶部向用户显示一条简单的消息。我一直无法在网上找到有关此的任何信息,所以我想知道我将如何进行此操作。

我需要对 DateTime 做些什么吗?我将代码包含在什么视图/模型中?

谢谢你提供的所有帮助 :)

python django django-views

1
推荐指数
1
解决办法
1311
查看次数

如何将视图的访问权限限制为只有 Django 中的超级用户

在我用 Django 开发的网站上,我想限制对视图的访问,以便只有超级用户才能访问它们。我可以使用@login_requiredLoginRequiredMixin,但是我已经有一个普通人的登录系统,这样任何登录用户都可以访问该视图。

我尝试了一些我认为可以SuperUserRequired作为 mixin工作的东西,但这显然不起作用。

这必须能够在 CBV 中工作,因为这就是我用于此视图的内容。这是我想应用此限制的相关视图。

class CreatePostView(LoginRequiredMixin,CreateView):
    redirect_field_name = 'posts/post_detail.html'
    form_class = PostForm
    model = Post
    def form_valid(self,form):
        form.instance.author = self.request.user
        return super().form_valid(form)
Run Code Online (Sandbox Code Playgroud)

谢谢你提供的所有帮助 :)

python django django-views django-permissions

1
推荐指数
1
解决办法
1908
查看次数