我已經停止使用django 1.1創建新項目,並且從那時起只能在已經創建的應用程序上工作。從那以後,我猜靜態服務有所變化(項目正在使用Django 1.2.4)。我掙扎了幾個小時,沒有結果,所以如果有人知道我做錯了什麼,請讓我知道。靜態文件不在django中加載
我的設置:
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
SECRET_KEY = '(d9bahjuyy_i-)4b(w9gc5a&s&5jemcn7&b^wrbuemah3p-6^#'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH, 'templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'project',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.request",
"django.core.context_processors.media",
"django.core.context_processors.csrf",
"django.core.context_processors.i18n",
)
網址:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes' : True}),
)
和媒體文件都位於../project_path/media
在模板中我得到的{{MEDIA_URL}}路徑as/static /但我的文件沒有加載。去http://127.0.0.1:8000/static/(帶或不帶最後一個斜槓)顯示根頁面。 Firebug顯示頁面的html代碼來代替javascript文件。我寧願期待404錯誤。問題在哪裏?
轉換爲1.3。問題仍然是:
http://www.megaupload.com/?d=2BGN8BU2
嘗試django-staticfiles,或者更好地升級到包含改進版本的Django 1.3:http://docs.djangoproject.com/en/1.3/howto/stati c-files/ – zeekay 2011-05-09 00:17:47
我已經切換到1.3,仍然是+,現在STATIC_URL是空的。 – euklemo 2011-05-09 00:39:03
你可以展示更多的urls.py,我猜你在你的網址中有一個正則表達式,它在達到你的靜態服務條目之前抓住你所有的網址。 – DTing 2011-05-09 00:51:43