创建 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 个字段:
- 类型(字符字段长度=200)
- 项目状态(带有 OK 和 NOK 选项的组合框)
- 排名(数字,1-10)
- 已部署(字符字段长度=200)
我曾尝试将这些字段简单地添加到下面的 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 键。
我是 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 个字段:
- 类型(字符字段长度=200)
- 项目状态(带有 OK 和 NOK 选项的组合框)
- 排名(数字,1-10)
- 已部署(字符字段长度=200)
我曾尝试将这些字段简单地添加到下面的 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 键。