Я не понимаю, как добавить этот объект изображения на вид.Пожалуйста, помогите мне.
модели
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
image = models.ImageField(default='post.jpg', upload_to='image')
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
super().save()
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk': self.pk})
То, что я делаю для поля изображения, является действительным.Я хочу иметь возможность загружать файл изображения, используя CreateView и LoginRequiredMixin, но не могу заставить его работать - кажется, форма не связывает никакие данные файла после выбора файла.Вот текущее содержание представления
просмотров
class PostCreateView(LoginRequiredMixin, CreateView):
model = Post
fields = ['title', 'content','image']
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
Любое мнение, что я только что показал фотографию по умолчанию.Я не понимаю, как справиться с этим. Я стараюсь изо всех сил, я думаю.
post_form.html
{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Blog Post</legend>
{{ form|crispy }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info"
type="submit">Post</button>
</div>
</form>
</div>
{% endblock content %}
home.html
{% extends "blog/base.html" %}
{% block content %}
{% for post in posts %}
<article class="media content-section">
<img class="rounded-circle article-img" src="{{
post.author.profile.image.url }}">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="#">{{ post.author }}</a>
<small class="text-muted">{{ post.date_posted|date:"F d, Y" }}
</small>
</div>
<h2><a class="article-title" href="{% url 'post-detail' post.id %}">
{{ post.title }}</a></h2>
<p class="article-content">{{ post.content }}</p>
<img class="rounded-circle account-img" src="{{ post.image.url }}">
</div>
</article>
{% endfor %}
{% endblock content %}
командная строка
OSError: [WinError 123] The filename, directory name, or volume label syntax
is incorrect: 'C:\\Users\\Arvan\\Desktop\\django_project\\medi
a\\<MultiValueDict: {}>'
[07/Dec/2018 04:04:39] "GET /media/%3CMultiValueDict%3A%20%7B%7D%3E HTTP/1.1"
500 80871