我正在尝试使用 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)
我填写了表格(任何输入都可以),然后弹出一个错误。
这是完整错误的 Pastebin:https://pastebin.com/ZwVLxeVA
任何帮助将不胜感激。