python - Django tinyMC 无法在管理面板中加载
问题描述
我对 django-tinymce 有疑问。该模块无法在管理面板中正确加载,也可能以正常形式加载。我曾经python manage.py collectstatic
收集静态文件。我正在运行应用程序debug = False
。我有 2 个错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught ReferenceError: tinyMCE is not defined
您可以在屏幕截图中看到错误。
设置:
INSTALLED_APPS = [
'tinymce',
...
]
...
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
ENV_PATH = os.path.abspath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(ENV_PATH, '../public/static/')
MEDIA_ROOT = os.path.join(ENV_PATH, '../public/media/')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, "tiny_mce")
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tiny_mce.js")
TINYMCE_DEFAULT_CONFIG = {
'height': 360,
'width': 1120,
'cleanup_on_startup': True,
'custom_undo_redo_levels': 20,
'selector': 'textarea',
'theme': 'modern',
'plugins': '''
textcolor save link image media preview codesample contextmenu
table code lists fullscreen insertdatetime nonbreaking
contextmenu directionality searchreplace wordcount visualblocks
visualchars code fullscreen autolink lists charmap print hr
anchor pagebreak
''',
'toolbar1': '''
fullscreen preview bold italic underline | fontselect,
fontsizeselect | forecolor backcolor | alignleft alignright |
aligncenter alignjustify | indent outdent | bullist numlist table |
| link image media | codesample |
''',
'toolbar2': '''
visualblocks visualchars |
charmap hr pagebreak nonbreaking anchor | code |
''',
'contextmenu': 'formats | link image',
'menubar': True,
'statusbar': True,
}
和网址:
urlpatterns = [
re_path(r'^tinymce/', include('tinymce.urls')),
...
]
编辑
我更新了代码,按照@dirkgroten 编写的说明进行操作,但仍然出现错误。这是一个文件夹树。settings.py
在 pystyle 目录中。
解决方案
对于所有静态/媒体设置,请记住:
ROOT
是文件在存储上的物理位置。在这里,您使用诸如os.path.join
在文件系统中构建操作系统路径之类的东西。URL
是用于通过 Internet 获取资源的 url。这将由您的服务器 (nginx) 处理,该服务器会将其转换为文件的实际位置,以便返回该文件。
所以你TINYMCE_JS_URL
错了。它不是磁盘上的路径,而是 URL。它应该是:
TINYMCE_JS_URL = STATIC_URL + "tinymce/tinymce.js"
推荐阅读
- javascript - React(钩子)是否需要使用状态来执行其虚拟 dom diff 魔术?
- javascript - 使用overflow-x时无法计算document.body.pageYOffset:隐藏在我的css中
- cups - 即使 avahi-resolve-host-name 成功,也无法使用 getent 解析 .local 域
- r - 使用重值对 R 中数值列的范围进行分类
- python - 与范围相关的 django 相关字段过滤器
- python - 根据用户获取最新的直接消息 + 发件人 ID - Tweepy
- java - 如何获取 zip 文件中所有目录的列表
- javascript - 如何将外部 js 文件链接到 reactjs 应用程序并在反应应用程序中进行更改?
- spring - 从一个 Rest Service 到另一个 Rest Service 进行异步(异步)时如何不丢失 Request 属性
- python-3.x - 在列表中查找相同值的索引的最快方法