【发布时间】:2016-05-20 21:42:13
【问题描述】:
我是 Django 的新手,我一直在关注 django 教程“djangogirl”,但我想添加图片,所以我做了一个 model.py 像这样:
class Post(models.Model):
author = models.ForeignKey('auth.User')
image = models.ImageField()
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
这是我的view.py:
def posts(request):
posts = Post.objects.order_by('published_date')
return render(request, 'my_blog/posts.html', {'posts': posts})
还有my_blog.html:
{% extends 'my_blog/base.html' %}
{% load staticfiles %}
{% block content %}
<link rel="stylesheet" href="{% static 'style/css/posts.css' %}">
<div id="postsContainer">
<div id="posts">
{% for post in posts %}
<div>
<h3 class="date">Published the: {{ post.published_date }}</h3>
<h1><a href="">{{ post.title }}</a></h1>
<img src="{{ post.image.url }}"/>
<p>{{ post.text|linebreaks }}</p>
</div>
<div id="button">
<button type="button" class="btn btn-primary">Read more</button>
</div>
<div class="top-divider"></div>
{% endfor %}
</div>
</div>
{% endblock %}
我通过 Django 管理页面插入我的图像。
问题是在我的 HTML 中返回的 URL 非常奇怪,例如:./images_SseHlrA.png,而且它显然不能正确显示图片。我该如何解决?
显然,图片在根级别“存储”(与文件manage.py 相同的级别,问题是为什么?我该如何更改它,最好的方法是什么?
【问题讨论】:
标签: python django templates url