如何在 python django 中实现用于发布博客的管理员批准系统

how to implement an admin approval system for posting blogs in pythondjango

我正在建立一个用户来登录的网站,登录后用户发布经管理员批准的文章。我不知道怎么做。我制作了一个用户可以登录的用户身份验证系统。但我不知道如何让他 post 获得管理员批准的数据。

不错。您可以通过向数据库中添加一个新列来启用此功能,例如 onapproval 将其设置为布尔变量,例如 0 或 1,true 或 false。然后检查它。如果是,您可以将状态设置为已批准,如果不是,则设置为未批准。同样的过程也会在管理面板中发生。

因此,您的模型中需要一个条件,以便能够查询要显示的批准对象(博客文章)。

基本方法如下所示:

创建一个模型来将博文及其逻辑存储到数据库

# models.py

class Blog_Post(models.Model):
    text = models.CharField(max_length=500)
    is_approved = models.BooleanField(default=False)

    def __str__(self):
        return self.name

在管理员中注册您的模型,以便您可以通过 django-admin

批准它们
from django.contrib import admin
from myproject.myapp.models import Blog_Post

admin.site.register(Blog_Post)

创建视图以仅获取管理员批准的博文

# views.py

def get_blog_post(request):

   # Only fetch the blog posts that are approved
   queryset = Blog_Post.objects.filter(is_approved=True)

   return render(request, 'your_html.html', {'queryset' : queryset})

在您的模板中呈现博文

# your_html.html

{% for blog_post in queryset %}

<div>{{ blog_post.text }}</div>

{% endfor %}