Django通过两条不同的路径获得了成功

时间:2012-08-15 01:27:15

标签: django tinymce

当我进入主站点页面时,对于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

为什么呢?在哪里纠正这个?

2 个答案:

答案 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