所以,我正在Django中开发一个条形选项卡应用程序,当它将一些数据插入选项卡时,我得到了错误:
ValueError位于/tabs/345/add/Caipirinha/
基数为10的int()的文字无效:"345/add/Caipirinha"
我以前在Stackoverflow上尝试过一些解决方案,但没有成功。
以下是我的一些文件:
型号.py
class Tab(models.Model):
number = models.IntegerField()
name = models.CharField(max_length='50')
tabdate = models.DateTimeField('date created')
consumed = models.ManyToManyField(Product, through='ConsumedRelation')
def __unicode__(self):
return self.name
class ConsumedRelation(models.Model):
tab = models.ForeignKey(Tab)
product = models.ForeignKey(Product)
count = models.PositiveIntegerField(blank=True, null=True, default=1)
def __unicode__(self):
return str(self.tab) + " | " + str(self.count) + " " + str(self.product)
views.py
def addproduct(request, tabnumber, product):
tabnumber = Tab.objects.get(number=number)
productadd = Product.objects.get(name=str(product))
add = ConsumedRelation.objects.create(product=productadd, tab=tabnumber, count=1)
add.save()
context = {'tabnumber': tabnumber, 'product': productadd}
return render_to_response('addproduct.html', context, context_instance=RequestContext(request))
addproduct.html
{% for product in productlist %}
<a href="add/{{ product }}/"<li>{{ product }}</li></a>
{% endfor %}
urls.py
url(r'^tabs/add/(?P<tabnumber>d)/(?P<product>d)/$', 'barcomandas.views.addproduct'),
我很感激你的帮助!
您应该在模板中使用{% url %}
,以便Django生成正确的URL。
<a href="{% url 'barcomandas.views.addproduct' tabnumber=sometabnumber product=product %}"<li>{{ product }}</li></a>