在自定义命令中引用静态文件

时间:2014-10-25 00:14:49

标签: django

我在Django中编写自定义命令,我想为该应用程序引用一些静态文件。假设命令位于myproject/myapp/management/commands/mycommand.py,静态文件位于myproject/myapp/static/myapp/myfile.txt,如何从myfile.txt引用mycommand.py?如果我使用../../../static/myapp/myfile.txt,则找不到该文件。

1 个答案:

答案 0 :(得分:1)

两种方法......

  1. 如果在settings.py文件中定义STATIC_ROOT = os.path.join(PROJECT_DIR,'static'),则可以访问静态目录,如

    /commands/mycommand.py
    from django.conf import settings
    pprint.pprint(settings.STATIC_ROOT)
    
  2. 或导入静态对象

    /commands/mycommand.py
    from django.templatetags.static import static
    url = static('myapp/myfile.txt')