سؤال

وأرجو مساعدتي للحصول على تحميل الصور يعمل على عرض مع أشكال جانغو؟

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']
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top