0
我有以下代码Django的 - 无效的字面对于int()与底座10
机型:
class Item(models.Model):
name = models.CharField(max_length=50)
price = models.IntegerField()
观点:
def index(request):
itemlist=Item.objects.all()
return render(request,"items/index.html",{"itemlist":itemlist})
def details(request,item_id):
item = get_object_or_404(Item,pk=item_id)
return render(request,"items/details.html",{"item":item})
def new(request):
if request.method == "POST":
if "create" in request.POST:
newitemform = NewItemForm(request.POST)
if newitemform.is_valid():
cd = newitemform.cleaned_data
Item.objects.create(name=cd["name"],price=cd["price"])
return HttpResponseRedirect(reverse("main:index"))
else:
newitemform = NewItemForm()
return render(request,"tags/new.html",{"newitemform":newitemform})
网址:
urlpatterns = patterns("",
url(r'^$',views.index,name="index"),
url(r'^(?P<item_id>\w+)/$',views.details,name="details"),
url(r'^new/$',views.new,name="new")
)
表格:
class NewItemForm(forms.Form):
name=forms.CharField(max_length=70)
price=forms.IntegerField(min_value=0)
和当我打电话从“索引”视图我不断收到错误的“新”图:
ValueError异常在/主/新/ 无效字面对于int()与基体10:'新'
我在做什么错?
我解决这个解决了这个问题。你指出了正确的地方,但问题不在于此);)。当我使用\ d +时,我正在使用\ w +,因为该变量应该是一个int,而不是一个字符串 – user3264316
那么问题真的是那么...我想你有一个很好的理由在那里使用一个字符串,只是假设新的不是你想要的论点......我本可以猜到你想要一个int,但是这会直接抵消你的东西,而我的答案保留了你的其他功能 –