getattr():属性名称必须为字符串

问题描述 投票:0回答:1
Very beginner here i am not getting whats the error here
#Models.py file

`from django.db import models

    class User(models.Model):
        name = models.CharField(max_length=20)
        email = models.CharField(max_length=100)
        date_created = models.DateTimeField(auto_now_add=True)

        def __str__(self):
            return self.name

    class Recipe(models.Model):
        name = models.CharField(max_length=50,null=True)
        steps = models.CharField(max_length=2000,null=True)
        image = models.ImageField(height_field=200,width_field=200,null = True, blank = True)
        ingredients = models.CharField(max_length=100, null=True)
        description = models.CharField(max_length=1000,null=True)
        user = models.ForeignKey(User, on_delete=models.CASCADE)`

#Form file

    `from django import forms
from django.forms import ModelForm
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Recipe

class SignupForm(UserCreationForm):
    username = forms.CharField(max_length=30)
    email = forms.EmailField(max_length=200)

    class Meta:
        model = User
        fields = ['username','email','password1','password2']

class RecipeForm(ModelForm):
    class Meta:
        model = Recipe
        fields = ['name','steps','image','ingredients','description']`
#views.py file

    `from django.shortcuts import render, redirect
from .forms import SignupForm,RecipeForm
from django.contrib.auth import authenticate,login,logout
from django.contrib.auth.decorators import login_required
from django.contrib import messages

# views here
 @login_required(login_url='blog-login')
    def recipes(request):
        form = RecipeForm()
        if request.method == "POST":
            form = RecipeForm(request.POST)
            if form.is_valid():
                form.save()
                return redirect('blog-home')
        context = {'form':form}
        return render(request,'food_app/Add_recipe.html',context)`
python django
1个回答
0
投票

Recipe模型ImageFieldheight_fieldheight_field都应该是可以存储值的字段名称,而不是整数值。

删除这些属性或添加几个字段来保存值。

© www.soinside.com 2019 - 2024. All rights reserved.