nicht anzeigen Ich hoffe, Sie können mir mit meinem Django-Projekt helfen. Ich kann Bilder in einem Ordner "media_cdn" in einem Ordner hochladen, der auf dem Namen des Slugs basiert. Das Problem tritt auf, wenn ich versuche, das Bild in meiner Beitragsliste anzuzeigen und zu posten.Kann ImageField in Django Vorlage
Können Sie sich bitte meinen Code ansehen und eine Lösung anbieten. Ich habe stundenlang versucht, es zur Arbeit zu bringen. Bitte helfen Sie.
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_cdn/')
models.py
def upload_location(instance, filename):
return "%s/%s" %(instance.slug, filename)
class Post(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique=True)
image = models.ImageField(upload_to=upload_location,
null=True,
blank=True,
width_field="width_field",
height_field="height_field")
height_field = models.IntegerField(default=0)
width_field = models.IntegerField(default=0)
body = models.TextField()
date = models.DateTimeField()
updated = models.DateTimeField(auto_now=True)
postlist.html
{% block content %}
{% for post in posts %}
<div class="container w3-card-4">
{% if post.image %}
<img src="{{ post.instance.image.url }}">
{% endif %}
...
post.html
{% block content %}
<div class="row">
<div class="container w3-card-4">
{% if instance.image %}
<img src= "{{ instance.image.url }}" class="img-responsive">
{% endif %}
...
url.py
from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('personal.urls')),
url(r'^blog/', include('blog.urls', namespace='blog', app_name='blog')),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Ich weiß nicht, was anderes zu versuchen, dieses Bild aus dem Ordner aufzurufen. Jeder Rat würde sehr geschätzt werden. Vielen Dank!
Sie überprüfen 'if post.image' und dann' post.instance.image.url'? – dnit13
post.image hat mein Problem gelöst. Ich danke dir sehr! – IoanCosmin