明确地说,我已经尝试过自己进行研究,但是由于我还是Django的新手,所以无法在此处了解解决方案。我也阅读了文档,但我不明白我在做什么错。我无法找到位于“ ad_pictures”目录中的图像以在HTML中显示。
这是我的代码:
settings.py
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py(项目)
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls')),
url(r'^classifieds/', include('classifieds.urls')),
] +static(settings.MEDIA_URL, document_ROOT=settings.MEDIA_ROOT)
urls.py(分类应用)
from django.conf.urls import url
from . import views
app_name = 'classifieds'
urlpatterns = [
url(r'^create/', views.create, name='create'),
url(r'^latestads/', views.latestads, name='latestads'),
]
models.py
class Post(models.Model):
title = models.CharField(max_length=150)
price = models.CharField(max_length=100)
body = models.TextField()
pub_date = models.DateTimeField(null=True)
author = models.ForeignKey(User, null=True)
category = models.CharField(max_length=150, null=True)
picture = models.ImageField(upload_to='ad_pictures', default='')
Latestads.html
{% for post in posts.all %}
<div class="advertisements">
<div class="a-title">
<h3><a href="">{{ post.title }}</a></h3>
</div>
<div class="a-image">
<a href=""><img src="{{ post.picture.url }}"></a>
</div>
<div class="a-content">
<p>{{ post.body }}</p>
</div>
<div class="a-date">
<p>{{ post.pub_date }} by {{ post.author }}</p>
</div>
</div>
<img src="{{ post.image.url }}">
{% endfor %}
目录结构图:
here
HTML输出:
here
我确定问题的一部分是HTML中的“ post.picture.url”。
非常感谢任何见解。
谢谢
最佳答案
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls')),
url(r'^classifieds/', include('classifieds.urls')),
] +static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
请将document_ROOT更改为document_root