我想知道如何从Django中的视图访问网站STATIC url,因为我必须向前端发送静态资源的链接。
我尝试过使用
os.path.join(settings.STATIC_ROOT, 'app/images/edit.png')
但是我在加载资源时遇到了麻烦,事实上,这种方法在javascript控制台中给了我这个错误:
Not allowed to load local resource ...[PATH OF FILE]...
由于
答案 0 :(得分:2)
STATIC_ROOT
是磁盘上的位置。请尝试使用STATIC_URL
。
答案 1 :(得分:2)
您可以在视图中使用静态:
from django.contrib.staticfiles.templatetags.staticfiles import static
image_path = static('app/images/edit.png')
static与您在模板中使用的功能相同。 在模板中,static()返回相对路径,如果你想要绝对url:
image_path = static('app/images/edit.png')
absolute_image_path = request.build_absolute_uri(image_path)
答案 2 :(得分:1)
您可以在django模板中轻松加载静态文件。我引用了django doc给出的例子:
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>