- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 wagtail 的新手,正在学习官方教程和 youtube 教程(yt 教程跳过了安装 libjpeg 和 zlib 的说明,但当我尝试安装时,它说 Pillow 包含它们);在windows10上运行,使用最新的python,最新的wagtail,最新的django;停留在第一点,在运行 makemigrations 或 migrate 或 runserver 时仍然遇到同样的问题:
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\home\models.py", line 14, in
HomePage
banner_subtitle = models.RichTextField(features=["bold", "italic"])
AttributeError: module 'django.db.models' has no attribute 'RichTextField'
这是我的模型.py:
from django.db import models
from wagtail.core.models import Page
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel
class HomePage(Page):
"""Homepage model."""
body = RichTextField(blank=True)
templates = "templates/home/home_page.html"
max_count = 1
banner_title = models.CharField('Body', blank=True)
banner_subtitle = models.RichTextField(features=["bold", "italic"])
banner_image = models.ForeignKey(features=
"wagtailImages.Image",
null=False,
blank=False,
on_delete=models.SET_NULL,
related_name="+"
)
banner_cta = models.ForeignKey(
"wagtailcore.Page",
)
content_panels = Page.content_panels + [
FieldPanel("banner_title"),
]
class Meta:
verbose_name = "HomePage"
verbose_name_plural = "HomePages"
这是完整的回溯:
Traceback (most recent call last):
File ".\manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\lib\site-packages\django\core\management\__init__.py", line 377, in execute
django.setup()
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "C:\Program Files\Python38\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\home\models.py", line 7, in <module>
class HomePage(Page):
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\home\models.py", line 14, in
HomePage
banner_subtitle = models.RichTextField(features=["bold", "italic"])
AttributeError: module 'django.db.models' has no attribute 'RichTextField'
下面是我运行 wagtail updatemodulepaths 时发生的情况:
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\Python38\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\TalkyWalky\Desktop\Workspace\bloggyblog\venv_bloggyblog\Scripts\wagtail.exe\__main__.py", line 7, in <module>
File "c:\users\talkywalky\desktop\workspace\bloggyblog\venv_bloggyblog\lib\site-packages\wagtail\bin\wagtail.py", line 297, in main
command.execute(sys.argv)
File "c:\users\talkywalky\desktop\workspace\bloggyblog\venv_bloggyblog\lib\site-packages\wagtail\bin\wagtail.py", line 52, in execute
self.run(**options_dict)
File "c:\users\talkywalky\desktop\workspace\bloggyblog\venv_bloggyblog\lib\site-packages\wagtail\bin\wagtail.py", line 171, in run
change_count = self._rewrite_file(path)
File "c:\users\talkywalky\desktop\workspace\bloggyblog\venv_bloggyblog\lib\site-packages\wagtail\bin\wagtail.py", line 236, in _rewrite_file
for original_line in f:
File "C:\Program Files\Python38\lib\fileinput.py", line 248, in __next__
line = self._readline()
File "C:\Program Files\Python38\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 641: character
maps to <undefined>
最佳答案
你不应该写 <s>models.</s>RichTextField
,因为实际上,django.db.models
中不存在此类模块。你应该简单地使用 RichTextField
,因为你导入了那个:
from django.db import models
from wagtail.core.models import Page
from wagtail.core.fields import <b>RichTextField</b>
from wagtail.admin.edit_handlers import FieldPanel
class HomePage(Page):
"""Homepage model."""
body = RichTextField(blank=True)
templates = "templates/home/home_page.html"
max_count = 1
banner_title = models.CharField('Body', blank=True)
# no <s>models.</s>
banner_subtitle = <b>RichTextField(</b>features=["bold", "italic"]<b>)</b>
banner_image = models.ForeignKey(features=
"wagtailImages.Image",
null=False,
blank=False,
on_delete=models.SET_NULL,
related_name="+"
)
banner_cta = models.ForeignKey(
"wagtailcore.Page",
)
content_panels = Page.content_panels + [
FieldPanel("banner_title"),
]
class Meta:
verbose_name = "HomePage"
verbose_name_plural = "HomePages"
关于python - 属性错误 : module 'django.db.models' has no attribute 'RichTextField' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61258929/
你能比较一下属性吗 我想禁用文本框“txtName”。有两种方式 使用javascript,txtName.disabled = true 使用 ASP.NET, 哪种方法更好,为什么? 最佳答案 我
Count 属性 返回一个集合或 Dictionary 对象包含的项目数。只读。 object.Count object 可以是“应用于”列表中列出的任何集合或对
CompareMode 属性 设置并返回在 Dictionary 对象中比较字符串关键字的比较模式。 object.CompareMode[ = compare] 参数
Column 属性 只读属性,返回 TextStream 文件中当前字符位置的列号。 object.Column object 通常是 TextStream 对象的名称。
AvailableSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。 object.AvailableSpace object 应为 Drive 
Attributes 属性 设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。 object.Attributes [= newattributes] 参数 object
AtEndOfStream 属性 如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False。 object.A
AtEndOfLine 属性 TextStream 文件中,如果文件指针指向行末标记,就返回 True;否则如果不是只读则返回 False。 object.AtEn
RootFolder 属性 返回一个 Folder 对象,表示指定驱动器的根文件夹。只读。 object.RootFolder object 应为 Dr
Path 属性 返回指定文件、文件夹或驱动器的路径。 object.Path object 应为 File、Folder 或 Drive 对象的名称。 说明 对于驱动器,路径不包含根目录。
ParentFolder 属性 返回指定文件或文件夹的父文件夹。只读。 object.ParentFolder object 应为 File 或 Folder 对象的名称。 说明 以下代码
Name 属性 设置或返回指定的文件或文件夹的名称。可读写。 object.Name [= newname] 参数 object 必选项。应为 File 或&
Line 属性 只读属性,返回 TextStream 文件中的当前行号。 object.Line object 通常是 TextStream 对象的名称。 说明 文件刚
Key 属性 在 Dictionary 对象中设置 key。 object.Key(key) = newkey 参数 object 必选项。通常是 Dictionary 
Item 属性 设置或返回 Dictionary 对象中指定的 key 对应的 item,或返回集合中基于指定的 key 的&
IsRootFolder 属性 如果指定的文件夹是根文件夹,返回 True;否则返回 False。 object.IsRootFolder object 应为&n
IsReady 属性 如果指定的驱动器就绪,返回 True;否则返回 False。 object.IsReady object 应为 Drive&nbs
FreeSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。只读。 object.FreeSpace object 应为 Drive 对象的名称。
FileSystem 属性 返回指定的驱动器使用的文件系统的类型。 object.FileSystem object 应为 Drive 对象的名称。 说明 可
Files 属性 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files 集合。 object.Files object&n
我是一名优秀的程序员,十分优秀!