创建 Django 的博客 Post 自定义字段

Creating Django´s blog Post custom fields

我是 django 的新手,我正在尝试将自定义字段添加到常规的 django 博客 Post App.

这是开箱即用的博客字段:

models.py

from django.db import models
from django.contrib.auth.models import User


STATUS = (
    (0,"Draft"),
    (1,"Publish")
)

class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=200, unique=True)
    author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
    updated_on = models.DateTimeField(auto_now= True)
    content = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)

    class Meta:
        ordering = ['-created_on']

    def __str__(self):
        return self.title

我需要创建 4 个字段:

我曾尝试将这些字段简单地添加到下面的 models.py 中,但它破坏了网站:

title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
Types = models.CharField(max_length=200, unique=True)
etc

我的 anaconda 提示错误: TabError:缩进中制表符和空格的使用不一致

我还需要在哪里添加字段?我需要创建一个单独的 class 吗?如果是这样,我该如何添加到 create post 后端?

当你在 python 中缩进时,python 只是希望第一行的缩进应该与其余行的缩进相同,比如 4 spaces, 1 space、1 个选项卡或其他。

正如PEP-8中所建议的那样,我们应该使用"Spaces"而不是使用"Tabs"!无论如何,该错误表明您可能添加了那些在缩进中使用制表符和 spaces 不一致的新字段(即可能您使用的是制表符而不是 4 spaces)

错误的意思和它说的完全一样。请记住 Python 不使用大括号,它使用缩进。您必须确保您的行正确缩进。我不知道你使用的编辑器,但你可以检查是否有格式化插件或扩展。不过,一个快速的解决方案是只删除所有白色 space,然后使用制表符缩进。缩进是通过 tab 键完成的,而不是 space 键。