[英]Django: Static files don't show up in the website despite being referenced correctly
[英]Django static files don't show up on Heroku
我的django項目幾乎已部署到heroku,但是我的靜態文件沒有顯示。
|--- .git
|--- .gitignore
|--- Procfile
|--- requirements.txt
|--- manage.py
|--- myproj
|--- __init__.py
|--- settings.py
|--- urls.py
|--- wsgi.py
|--- templates
|--- *.html
|--- static
|--- media
|--- static
|--- js
|--- *.js
|--- css
|--- *.css
|--- static-only
|--- myapp
當我在本地運行項目時,所有我的靜態文件都將使用退出代碼200訪問。
但是,在部署到heroku時找不到它們。 collectstatic成功。
以下是我的settings.py
的相關部分
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'
MEDIA_ROOT = 'media'
# Template location
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(BASE_DIR), "templates"),
)
STATICFILES_DIRS = (
os.path.join(os.path.dirname(BASE_DIR), "static"),
)
誰看過這個嗎?
編輯
myproj/urls.py
from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
import settings
urlpatterns = (
url(r'^$', 'myapp.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
url(r'^auth/$', 'myapp.views.auth_view'),
url(r'^logout/$', 'myapp.views.logout'),
url(r'^loggedin/$', 'myapp.views.loggedin'),
url(r'invalid/$', 'myapp.views.invalid_login'),
url(r'^register/', 'myapp.views.register_user'),
url(r'^register_success/', 'myapp.views.register_success'),
url(r'^files/', 'myapp.views.files'),
url(r'^practice/', 'myapp.views.practice'),
url(r'^download/', 'myapp.views.download'),
url(r'^listening/', 'myapp.views.listening'),
url(r'^training/', 'myapp.views.training'),
url(r'^upload/', 'myapp.views.upload'),
url(r'^update_user/', 'myapp.views.update_user'),
)
我通過添加來解決此問題
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT,'show_indexes': False}),
)
到我的urls.py
的末尾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.