Не удается отобразить картинку в моем социальном приложении django с помощью imageField?

Мне нужен свежий взгляд, что я упускаю? В моей Post Model imageField определяется как "картинка" для загрузки на сайт, я загружаю ее в админ панели, она загружается просто отлично, но я не могу заставить ее появиться на странице: http://127.0.0.1:8000/posts/. Я получаю ValueError в /posts/ Атрибут 'picture' не имеет связанного с ним файла. Выделяемая строка - это строка 257, в post_comment_create_view return render(request, 'network/posts.html', context) Модель:

class Post(models.Model):
    # id is created automatically by Django
    picture = models.ImageField(upload_to='images', blank=True, validators=[FileExtensionValidator(['png', 'jpg', 'jpeg'])])
    content = models.TextField()
    liked = models.ManyToManyField(Profile, blank=True, related_name="likes")
    author = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True)
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ('-created',)

    def __str__ (self):
        return str(self.content[:20])

Формы:

class PostModelForm(forms.ModelForm):
    content = forms.CharField(widget=forms.Textarea(attrs={'rows':2}))
    class Meta:
        model = Post
        fields = ('content', 'picture')

Просмотров:

@login_required
def post_comment_create_view(request):
    qs = Post.objects.all()
    profile = Profile.objects.get(user=request.user)

    #Setting up pagination
    p = Paginator(qs, 5)
    page = request.GET.get('page')
    post_list = p.get_page(page)

    #Post form, comment form
    p_form = PostModelForm()
    c_form = CommentModelForm()
    post_added = False

    profile = Profile.objects.get(user=request.user)

    if 'submit_pForm' in request.POST:
        print(request.POST)
        p_form = PostModelForm(request.POST, request.FILES)
        if p_form.is_valid():
            instance = p_form.save(commit=False)
            instance.author = profile
            instance.save()
            p_form = PostModelForm()
            post_added = True

    if 'submit_cForm' in request.POST:
        c_form = CommentModelForm(request.POST)
        if c_form.is_valid():
            instance = c_form.save(commit=False)
            instance.user = profile
            instance.post = Post.objects.get(id=request.POST.get('post_id'))
            instance.save()
            c_form = CommentModelForm()

    context = {
        'qs': qs,
        'profile': profile,
        'p_form': p_form,
        'c_form': c_form,
        'post_added': post_added,
        'post_list': post_list,
    }

    return render(request, 'network/posts.html', context)

HTML:

{% block body %}
<div>
    <div class="border border-light rounded" style="width: 25rem;">
        {% if post_added %}
            <div id="alertFade" class="alert alert-success" role="alert">Post added!</div>
        {% endif %}
        <form action="" method="POST" enctype="multipart/form-data" class="form-group">
            {% csrf_token %}
            {{p_form}}
            <button type="submit" class="btn btn-sm btn-success" name="submit_pForm">Send Post</button>
        </form>
    </div>
    {% for obj in post_list %}
        <div class="card center" style="width: 30rem;">
            <div class="card-head" style="background-color: #d0e2bc;">
                <img width="50px" class="avatar img-thumbnail rounded-circle z-depth-2 ml-1" src={{obj.author.avatar.url}}> {{ obj.author.user }} - {{ obj.created|naturaltime }}
                {% if request.user == obj.author.user %}
                    <a href="{% url 'post-delete' obj.pk %}"><button class="btn btn-sm btn-success float-right mt-2 mr-1">Delete</button></a>
                    <a href="{% url 'post-update' obj.pk %}"><button class="btn btn-sm btn-success float-right mr-1 mt-2">Edit</button></a>
                {% endif %}
            </div>
            <div class="card-body">
                <img src={{obj.picture.url}}> <br>
                <p class="card-text">{{obj.content|safe}}</p>
                <hr>
            </div>
            <button class="cmt_btn ui button mb-5">show / hide comments</button>
            <div class="comment-box">
            {% if obj.comment_set.all %}
                {% for c in obj.comment_set.all %}

                    <img width="20px" class="avatar img-thumbnail rounded-circle"src={{c.user.avatar.url}} alt="">
                    <span>{{ c.user }}</span>
                    <div class="mt-2">{{ c.body }}</div>

                {% endfor %}
            {% endif %}

Вокруг src должны быть кавычки:

<img src={{obj.picture.url}}>   <!-- will not work -->

Должно быть:

<img src="{{obj.picture.url}}">   <!-- works -->

Это для атрибутов тега. Для содержимого внутри тега подойдет то, что у вас есть, без кавычек. Это хорошо:

<span>{{ c.user }}</span>   <!-- works -->
<
{% if obj.picture %}
    <img src="{{obj.picture.url}}"> <br/>
{% endif %}
Вернуться на верх