【发布时间】:2021-08-05 16:06:00
【问题描述】:
我对 django 有疑问。我需要在单页中显示我的文件
所以我创建了模型:
class UserProfile(models.Model):
profile_img = models.ImageField(upload_to='media/images/', blank=True, null=True)
profile_text = models.TextField()
profile_title = models.CharField(max_length=300)
profile_user = models.ForeignKey(User)
和形式
class ProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ['profile_img', 'profile_title']
然后查看
def cabinet(request):
form = ProfileForm(request.POST, request.FILES or None)
if request.method == 'POST' and form.is_valid():
obj = UserProfile(profile_img=request.FILES['profile_img'])
obj = form.save(commit=False)
obj.profile_user = request.user
obj.save()
return redirect(reverse(cabinet))
return render(request, 'cabinet.html', {'form': form})
我尝试使用视图
def user_page(request):
profile = UserProfile.objects.all()
return render(request, 'user_page.html', {'profile':profile})
和
{% for img in profile %}
{{ img.profile_img }}
{% endfor %}
这是行不通的 请帮助我,我尝试阅读文档,但没有帮助
【问题讨论】:
-
它是如何工作的?它显示什么吗?您粘贴的代码应打印每个“profile.profile_img”的路径,您的实际输出是什么?
-
是的,它是我的图像 media/img/oOOSlWzBOSQ.jpg 的打印路径