forms.py
from django import forms
from .models import VideoPost
class PostForm(forms.ModelForm):
class Meta:
model = VideoPost
fields = ('category', 'title', 'slug', 'content', 'video', 'image',)
models.py
class VideoPost(models.Model):
category = models.ForeignKey('Category', on_delete=models.CASCADE)
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100, unique = True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
video = models.CharField(max_length=100, blank=True)
content = RichTextUploadingField()
image = models.ImageField(upload_to='images', null=True, blank=True)
date_posted = models.DateTimeField(default=timezone.now)
def _get_unique_slug(self, *args, **kwargs):
self.slug = slugify(self.title)
super(VideoPost, self).save(*args, **kwargs)
def __unicode__(self):
return self.title
views.py
def post_new(request):
if request.method == "POST":
form = PostForm(request.POST, request.FILES)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.published_date = timezone.now()
post.save()
return render(request, 'stories/post_detail.html')
else:
form = PostForm()
return render(request, 'stories/post_new.html', {'form': form})
settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
LOGIN_REDIRECT_URL = 'home'
MEDIA_URL = 'static/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
Это не на django встроенной странице администратора, я хотел сделать собственный шаблон поста. Все остальные формы ввода работают нормально, и все данные хранятся в БД правильно, кроме изображения. поле изображения в базе данных всегда пусто, независимо от того, какое изображение я туда поместил, и даже в моем статическом / медиа / пути к изображению оно пустое. Любая помощь будет высоко ценится.