Django 模型:未定义名称“未定义”

时间:2021-02-17 18:26:42

标签: python django django-models

Hello there

我正在尝试使用 Django 制作一个类似于 eBay 的商业网站,并且我正在使用 Django 模型来完成它。

我有一个带有此表单的 create 页面:

    <form method="POST">
        {% csrf_token %}
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Item title" name="title" required>
        </div>

        <div class="form-group">
          <textarea class="form-control" rows="5" placeholder="Description..." name="description" required></textarea>
        </div>
          <div class="form-group">
            Category
            <select class="form-control" name="category" required>
              <option>Fashion</option>
              <option>Tools</option>
              <option>Toys</option>
              <option>Electronics</option>
              <option>Home accessories</option>
              <option>Books</option>
            </select>
          </div>
        <div class="form-group">
            <label for="exampleFormControlInput1">Initial Bid</label>
            <input type="number" class="form-control" id="exampleFormControlInput1" placeholder="Starting bid..." name="price" required>
          </div>

          <div class="form-group">
            <label for="exampleFormControlInput1">Image link (optional)</label>
            <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="https://example.com/image.jpg..." name="link">
          </div>

        <button class="btn btn-outline-info" type="submit">Submit</button>

      </form>

这是我的视图函数:

def create(request):
    if request.method == "POST":
        if Item.objects.last() == undefined:
            newid = 1
        else:
            newid = lastitem = Item.objects.last().itemid+1
        newitem = Item()
        newitem.owner = request.user.username
        newitem.name = request.POST.get('title')
        newitem.about = request.POST.get('description')
        newitem.price = request.POST.get('price')
        newitem.category = request.POST.get('category')
        newitem.itemid = newid
        if request.POST.get('link'):
            newitem.link = request.POST.get('link')
        else :
            newitem.link = "https://picsum.photos/400"
        newitem.save()
        return HttpResponseRedirect(reverse("index"))
    if request.user.is_authenticated:
        return render(request, "auctions/create.html")
    else:
        return HttpResponseRedirect(reverse("login"))

.

我已经导入了我的模型

from .models import User, Item

我的模型文件如下:

from django.contrib.auth.models import AbstractUser
from django.db import models


class User(AbstractUser, models.Model):
    pass

class Item(models.Model):
    owner = models.CharField(max_length=64, default="AAAAAAAAAAAAA")
    name = models.CharField(max_length=64, default="AAAAAAAAAAAAA")
    about = models.TextField(default="AAAAAAAAAAAAA")
    price = models.IntegerField(default="AAAAAAAAAAAAA")
    category = models.CharField(max_length=64, default="AAAAAAAAAAAAA")
    link = models.CharField(max_length=1000,default=None,blank=True,null=True)
    itemid = models.IntegerField(default=0)

我填写了表格(任何输入都可以),然后弹出一个错误。

The error

这是完整错误的 Pastebin:https://pastebin.com/ZwVLxeVA

任何帮助将不胜感激。

0 个答案:

没有答案