无法在TINYMCE_DEFAULT_CONFIG = {'content_css'中导入我自己的CSS文件:

时间:2019-04-02 15:08:38

标签: django django-tinymce

正如我在标题中所述,我无法在TINYMCE_DEFAULT_CONFIG变量'content_css'中导入css文件。

我正在使用django-tinymce4-lite软件包,并在我的'content_css'文件中设置了settings.py

我已经尝试过使用boostrap CDN这样的方式:

'content_css': 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'

它有效,但是如果我做这样的事情:

"content_css": os.path.join(STATIC_URL, "css/style.css")

我遇到以下404错误:

"GET /static/css/style.css HTTP/1.1" 404 1764

我的css文件位于项目根目录中的静态文件夹中,如下所示:

/static/css/style.css

我的静态配置为:

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

urls.py

urlpatterns = [
    path("grappelli/", include("grappelli.urls")),
    path("admin/", admin.site.urls),
    path("admin/filebrowser/", site.urls),
    path("tinymce/", include("tinymce.urls")),
    path("page/", include("pages.urls")),
]
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

寻找解决方案已经整天了,即使是最小的提示也很受欢迎。 谢谢

编辑:

我正在运行'python manage.py runserver'的调试模式

Pipfile

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
django = "*"
black = "*"
psycopg2-binary = "*"
pillow = "*"
django-tinymce4-lite = "*"
django-filebrowser-no-grappelli = "*"

[requires]
python_version = "3.6"

1 个答案:

答案 0 :(得分:1)

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )添加到您的设置。

也请删除STATIC_ROOT进行开发设置,或将其更改为项目目录之外的内容,例如上一级:

STATIC_ROOT = os.path.abspath(os.path.join(BASE_DIR, '..', 'static'))

这将使django将静态文件收集到项目目录旁边的 static 目录中(但它可能是一个完全不同的位置,当您不运行{时,您的网络服务器会直接在其中获取{ {1}})

请注意,我对各种设置进行了更详尽的说明,尤其是在部署到生产版here on SOhere in a blog post