Я делаю небольшой блог. И я буду создавать систему загрузки обложек.
Но после загрузки я не могу получить изображение.
У вас есть какие-нибудь решения?
Вот мой model.py:
class Post(models.Model):
id = models.AutoField
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
content_images = models.ImageField(default="media/noimg-l.jpg")
и вот form.py:
class Createcontent(forms.ModelForm):
class Meta:
model = Post
fields = (
"title",
"content",
"slug",
"content_images",
"status",
)
file = forms.FileField()
widgets = {
"content": SummernoteWidget(),
}
и это HTML Я использую:
<div class="row">
<form method="POST" enctype="multipart/form-data" class="post-form">{% csrf_token %} {{ form|crispy }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
</div>
и мой setting.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
X_FRAME_OPTIONS = 'SAMEORIGIN'
SUMMERNOTE_THEME = 'bs4' # Show summernote with Bootstrap4
и мой views.py
ef create_post(request):
if request.method == "POST":
form = Createcontent(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.published_date = timezone.now()
post.save()
return redirect('post_detail', post.slug)
else:
form = Createcontent()
return render(request, 'blog/post_creator.html', {'form': form})