小编lol*_*olz的帖子

如何从django表单ImageField输入获取图像

我正在尝试从输入 ImageFile 获取图像以显示在模板中,并将该 ImageFile 保存到模型 ImageField。

下面的代码吐出一个错误:

upload_img_temp.write(uploaded_image)
TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

形式

class UploadImageForm(forms.ModelForm):
    class Meta:
        model = Image
        fields = ['image']
Run Code Online (Sandbox Code Playgroud)

看法

def uploadImageView(request):
    form = UploadImageForm(request.POST or None, request.FILES or None)
    if request.method == 'POST':
        if form.is_valid:
            request.session['image'] = request.POST['image']
            return redirect('image:create')

def imageCreateView(request):
    uploaded_image = request.session.get('image')
    upload_img_temp = NamedTemporaryFile()
    upload_img_temp.write(uploaded_image)
    upload_img_temp.flush()

    form_create = ImageModelCreateForm(request.POST or None, request.FILES or None,)

    if form_create.is_valid():
        instance = form_create.save(commit=False)
        instance.image = upload_img_temp
Run Code Online (Sandbox Code Playgroud)

模板

<img class="image" src="{{ upload_img_temp …
Run Code Online (Sandbox Code Playgroud)

python django

3
推荐指数
1
解决办法
7811
查看次数

Django用户ForeignKey和唯一对象名称

class User:
    username = (unique=True)

class Object:
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    name = ()
Run Code Online (Sandbox Code Playgroud)

我如何拥有多个同名的对象,但每个用户只能有一个唯一的对象名称。

例如:

user1只能有一个唯一的Object名称“dog”,user2也只能有一个唯一的Object名称“dog”,因此可以有多个同名的Object,但每个用户只能有一个Object通过外键命名为“dog”。如果 user1 尝试创建另一个名为“dog”的对象,则会引发类似表单验证错误的错误。

python django django-models django-forms django-views

2
推荐指数
1
解决办法
109
查看次数