تحميل ملفات الصور
-
21-08-2019 - |
سؤال
وأرجو مساعدتي للحصول على تحميل الصور يعمل على عرض مع أشكال جانغو؟
Models.py
class User_Profile(models.Model):
user = models.OneToOneField(User, unique=True, related_name='profile')
photo = models.ImageField(upload_to = 'profiles/', null=True, blank=True)
Forms.py
class ProfileForm(forms.ModelForm):
class Meta:
model = User_Profile
exclude = ('user')
Views.py
if request.method == 'POST':
profile_form = ProfileForm(request.POST, instance=request.user.profile)
if profile_form.is_valid():
profile_form.save()
return HttpResponseRedirect('/panel/correct/')
else:
profile_form = ProfileForm(instance=request.user.profile)
وشكل أتش تي أم أل بي يحتوي بالفعل enctype="multipart/form-data"
المحلول
وأنت لا يبدو أن ربط ملف البيانات إلى شكل من .
profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile)
نصائح أخرى
لماذا لا تستخدم جانغو-الصورة الرمزية مشروع (أفترض أنك تفكر في إضافة الآلهة المستخدم إلى المشروع بناء على سبيل المثال)؟
ولديهم حل أنيق جدا مع علامة الإضافية التي تغيير حجم الصورة قبل عرضه مرة الأولى. قمت بتخزين الصورة الأصلية وتحديد أحجام الصورة التي ترغب في قبول على الموقع، والباقي يتم التلقائى بالنسبة لك.
وهذا هو مجرد مسألة التالية في مستندات .
وأنت لم تقم باستخدام النموذج التهيئة الصحيحة في رسالتك. وعلى وجه الخصوص التي تفتقد <م> request.FILES م> المعلمة:
form = ProfileForm(request.POST, request.FILES)
وبعد ما ورد أعلاه الملف الذي تم تحميله يمكن استردادها من مجموعة FILES:
photo_file = request.FILES['photo']