Dan*_*ski 12 python django django-urls
Django的是否有media标签类似static,并url和如何设置的呢?
{% static 'styles/boo.css' %}
{% url 'some_app:some_name' %}
Is this possible: {% media 'what here' %}?
Run Code Online (Sandbox Code Playgroud)
如何设置?
Lei*_*all 28
没有媒体模板标签.
设置后MEDIA_ROOT,MEDIA_URL您可以通过引用其url属性在模板中使用媒体文件.
例如:
class Foo(models.Model):
image = models.ImageField(
...
)
Run Code Online (Sandbox Code Playgroud)
然后在你的模板中:
<img src="{{ foo_object.image.url }}">
Run Code Online (Sandbox Code Playgroud)
另请查看有关如何访问媒体文件的文档.
通过上下文处理器进行的{%get_media_prefix%}和{{MEDIA_URL}}都是您所要求的很好的选择。
话虽这么说,如果您真正想要实现的是呈现到上载媒体文件(例如图像)的链接,则有更好的方法。
模型:
class Company(models.Model):
logo = models.ImageField()
@property
def logo_url(self):
if self.logo and hasattr(self.logo, 'url'):
return self.logo.url
Run Code Online (Sandbox Code Playgroud)
模板:
<img src="{{company.logo_url}}"/>
Run Code Online (Sandbox Code Playgroud)
@property的原因是,您要避免ImageField不包含图像的情况。company.logo.url在这种情况下,直接在模板中访问将导致异常。
这实际上是Django中长期存在的问题:https : //code.djangoproject.com/ticket/13327
| 归档时间: |
|
| 查看次数: |
22027 次 |
| 最近记录: |