Adi*_*lik 2 django heroku django-admin
我的网站部署在 Heroku 上。除了静态文件,一切都很好。静态文件在此路径上doctor_app/doctor_app/static/。
在本地,django 的管理面板运行良好。但是在heroku上,它没有找到任何静态文件。
令人惊讶的是,当我使用终端运行此命令时。
heroku run cat doctor_app/static/admin/css/base.css
Run Code Online (Sandbox Code Playgroud)
它输出 的内容base.css。这意味着静态文件在那里
我想知道为什么 django 找不到任何文件?
欲了解更多信息,这是我的 settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
#STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'staticfiles'),
)
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)
这不是 Django 错误。Django 所做的是准备好静态文件并将它们收集到STATIC_ROOT.
请注意,为 Django 项目提供静态文件通常不在其职责范围内。您可以参考Django 的关于部署静态文件的文档,并尝试使用uwsgi或 之类的应用程序部署它们nginx。
对于一个快速的尝试,您可以将静态文件放到Django的路由,描述在这里:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Run Code Online (Sandbox Code Playgroud)
就您的问题所提供的而言,这可能对您有用。
| 归档时间: |
|
| 查看次数: |
3060 次 |
| 最近记录: |