繁体   English   中英

使用Django服务静态文件

[英]Serve static files with django

设置一个django网站,但是我无法让它提供静态文件。 在设置文件中

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SETTINGS_DIR = os.path.dirname(__file__)

PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)

TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates')
STATIC_ROOT = os.path.join(PROJECT_PATH, 'angular/js')

STATIC_URL = '/static/'

在模板中

<script src="/static/js/angular.min.js"></script>

我可以提供模板,该模板位于angular的主目录中,而在模板的内部则是static文件夹angular/static/js/angular.min.js

在setting.py文件中添加以下代码

STATIC_ROOT = os.path.join(BASE_DIR,"deploy_to_server")
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

并在您的模板中使用

<script src="/static/js/angular.min.js"></script>

在项目中创建静态文件夹

==> static ==> js ==> angular.min.js
==> manage.py

希望这对你有帮助

不要使STATIC_ROOT特定于某个app 它应该是整个项目的范围。所以我的建议

STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'
  • 然后,将名为angularapp添加为其他任何应用程序。

  • 添加到INSTALLED_APPS

  • 在其中创建static/angular/js文件夹

     angular/static/angular/js 
  • 将里面的angular.min.js复制为

     angular/static/angular/js/angular.min.js 
  • 通过src=/static/angular/js/angular.min.js

因此,生产也不会有太大变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM