当我进入主站点页面时,对于tinymce的请求是:
"GET /media/js/tiny_mce/textareas.js HTTP/1.1" 200 2007
"GET /media/js/tiny_mce/tiny_mce.js HTTP/1.1" 200 207773
因为我使用MEDIA_URL作为tinymce的东西。但是当我去/ admin页面时,请求是:
"GET /static/js/tiny_mce/tiny_mce.js HTTP/1.1" 304 0
"GET /static/js/tiny_mce/textareas.js HTTP/1.1" 200 2007
为什么呢?在哪里纠正这个?
答案 0 :(得分:2)
\ venv \ Lib \ site-packages \ tinymce \ settings.py:
的片段if 'staticfiles' in settings.INSTALLED_APPS or 'django.contrib.staticfiles' in settings.INSTALLED_APPS:
JS_URL = getattr(settings, 'TINYMCE_JS_URL',os.path.join(settings.STATIC_URL, 'tiny_mce/tiny_mce.js'))
JS_ROOT = getattr(settings, 'TINYMCE_JS_ROOT',os.path.join(settings.STATIC_ROOT, 'tiny_mce'))
else:
JS_URL = getattr(settings, 'TINYMCE_JS_URL','%sjs/tiny_mce/tiny_mce.js' % settings.MEDIA_URL)
JS_ROOT = getattr(settings, 'TINYMCE_JS_ROOT', os.path.join(settings.MEDIA_ROOT, 'js/tiny_mce'))
默认情况下,AFAIR'django.contrib.staticfiles'包含在INSTALLED_APPS中。因此,tinymce应该位于静态目录中。关于将tinymce放入媒体目录的说明误导了我。
答案 1 :(得分:0)
django use the static files app to handle admin media的较新版本(1.4)(即/static/...
):
从Django 1.4开始,管理员的静态文件也遵循此约定[使用静态文件],以使文件更易于部署。在以前的Django版本中,定义ADMIN_MEDIA_PREFIX设置以指向管理员静态文件在Web服务器上的URL也很常见。此设置现已弃用,并由更一般的设置STATIC_URL取代。
所以,如果你是< 1.4,您可以使用ADMIN_MEDIA_PREFIX
来更改管理员使用的路径(检查this问题,以确保您了解它是如何工作的)。否则,请将您的应用调整为make use of static files