我無法加載.css和.js文件。這就是我在服務器上得到的輸出:STATIC_URL不能在Django 1.5上工作
[29/Oct/2013 11:33:26]「GET /static/srt/css/django-admin-widgets.css HTTP/1.1」404 1700
[29月/ 10月/ 2013 11時33分26秒] 「GET /static/srt/js/django-admin.multiselect.js HTTP/1.1」 404 1706
settings.py:
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'staticfiles'),
)
urls.py:
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'srt_project.views.home', name='home'),
# url(r'^srt_project/', include('srt_project.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^accounts/', include('registration.backends.default.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
# url(r'^accounts/', include('registration.urls')),
url(r'^srt/', include('srt.urls', app_name='srt')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
site_base.html
{% load static from staticfiles%}
<!DOCTYPE html>
<html>
<head>
<title>Status Reporting Tool</title>
<link rel="stylesheet" type="text/css" href="{% static 'srt/css/django-admin-widgets.css' %}" />
<script type="text/javascript" src="{% static 'srt/js/django-admin.multiselect.js' %}"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
jQuery.each($("select[multiple]"), function() {
// "Locations" can be any label you want
SelectFilter.init(this.id, "Viewers", 0, "/static/srt/");
});
</script>
目錄結構:
.---srt_project
| manage.py
|
+---srt
| | admin.py
| | forms.py
| | models.py
| | tables.py
| | tests.py
| | urls.py
| | views.py
| | __init__.py
|
\---srt_project
| settings.py
| srt_project.sqlite
| urls.py
| wsgi.py
| __init__.py
|
\---static
\---srt
+---css
| django-admin-widgets.css
|
\---js
django-admin.multiselect.js
您的網絡服務器應該處理靜態文件。你可以在你的htacess或服務器conf中放置一個別名來提供你的靜態文件。 – Jingo
@Jingo我不認爲這是問題。我在DEBUG = True的開發服務器上運行它。從文檔: 「除了這些配置步驟,您還需要真正服務於靜態文件 在開發過程中,這將是自動,如果你使用的runserver和DEBUG設置爲True(見django.contrib中完成的。 staticfiles.views.serve())。 這種方法效率非常低,可能不安全,所以它不適合生產。「 – Hec
這是我的觀點,如果您使用runserver命令(這正是我正在做的),開發服務器會自動爲您提供文件。所以我不確定你在暗示什麼,你能否詳細說明一下? – Hec