无法在django中工作:AttributeError:模块'django.db.models'没有属性'HTMLField'

时间:2018-06-02 07:58:40

标签: python django docker tinymce

我想让这个包在Django中工作: https://github.com/romanvm/django-tinymce4-lite

我正在使用docker compose来安装我的django。设置与此处的设置相同: https://docs.docker.com/compose/django/

早些时候,当我遇到类似的错误时,它与pip包未在docker中正确加载有关。现在,我已经加载了“django-tinymce4-lite”包,如下所示:

  • 我已在项目中编辑了我的requirements.txt
  • 我重建了我的码头图片
  • 当我登录docker实例时,我可以使用以下方法检查包的存在:

    $ pip冻结 Django的== 2.0.6 Django的bootstrap3 == 10.0.1 Django的tinymce4 - 精简版== 1.7.1 jsmin == 2.2.2 枕头== 5.1.0 psycopg2二进制== 2.7.4 pytz == 2018.4

这似乎符合我的requirements.txt文件:

Django>=2.0
psycopg2-binary
django-bootstrap3
django-tinymce4-lite
Pillow

但是,当我按照说明操作时,我会这样做:

  1. 为您的Django项目在settings.py中添加tinymce到INSTALLED_APPS

    INSTALLED_APPS =(     ...     'TinyMCE的', )

  2. 为项目添加tinymce.urls到urls.py:

    urlpatterns = [     ...     url(r'^ tinymce /',include('tinymce.urls')),     ... ]

  3. 注意:因为我使用Django 2,我不得不重写它。这是我使用的:

    path('tinymce/', include('tinymce.urls')),
    

    我在我的主项目urls.py以及我的app urls.py中都试过这个。下一步是:

    In your code:
    
    from django.db import models
    from tinymce import HTMLField
    
    class MyModel(models.Model):
        ...
        content = HTMLField('Content')
    

    但是,在我这样做的那一刻,我收到了这个错误:

    AttributeError: module 'django.db.models' has no attribute 'HTMLField'
    

    有人知道如何进一步调试/调查这个吗?

1 个答案:

答案 0 :(得分:1)

错误表示您正在尝试访问HTMLField类的models属性;所以可能是某个地方错误地键入了models.HTMLField