0
我使用Python 2.7,Django 1.9。爲什麼我的圖片不是以我創建的django表格上傳的?
我想從這個模型/形式對用戶得到的圖像:
models.py
from PIL import Image
class UserProfile(models.Model):
user = models.OneToOneField(User)
website = models.URLField(blank=True, null=True)
location = models.CharField(max_length=200, null=True)
longitude = models.FloatField(null=True)
latitude = models.FloatField(null=True)
credit = models.FloatField(default=0, null=True)
picture = models.ImageField(upload_to='media/images/profile_pictures', blank=True, null=True)
def __unicode__(self):
return self.user.username
forms.py
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = [
"website",
"location",
"picture",
]
widgets = {
'location': forms.TextInput(
attrs={'id': 'location', 'class': 'geo', 'required': True, 'placeholder': 'location'}
),
}
這是使用保存如下圖所示:
def register(request):
registered = False
if request.method == "POST":
user_form = UserForm(request.POST)
profile_form = UserProfileForm(request.POST, request.FILES)
if user_form.is_valid() and profile_form.is_valid():
print(request.POST['location'])
print(str(request.POST['location']))
user = user_form.save()
user.set_password(user.password)
user.save()
profile = profile_form.save(commit=False)
profile.user = user
profile.save()
else:
print user_form.errors, profile_form.errors
else:
profile_form = UserProfileForm()
user_form = UserForm()
return render(request, "register.html", {'user_form' : user_form, 'profile_form' : profil
但執行後,沒有圖片保存到文件夾。這裏是image_urls的根: project/static/media/images/profile_pictures 任何想法?
編輯:這裏是HTML:
{% load static from staticfiles %}
{% block head %}
{% endblock %}
{% block content %}
{% if registered %}
<h1>Thank you for registering.</h2><br>
<a href="dashboard">Start playing!</a>
{% else %}
<form id="user_form" method="post" action="/register/" enctype="multipart/form-data">
{% csrf_token %}
{{ user_form.as_p }}
{{ profile_form.as_p }}
<input type="submit" name="submit" value="register" />
</form>
{% endif %}
{% endblock %}
在前端模板上,您是否在'
@JamesHiew是的,我是 –
@JamesHiew我添加了前端模板只是爲了確保沒有問題 –