我有一个接受URL的表格。然后使用BS4解析此URL,并使用以下类创建产品:
web
我只想将唯一的产品保存到数据库中。因此,我将以下代码添加到了 views.py 文件的 add 函数中,以按其ID检查产品:
class Product(models.Model):
product_id = models.CharField(max_length=50)
pub_date = models.DateTimeField(default=datetime.now)
title = models.CharField(max_length=255)
url = models.TextField()
price = models.FloatField()
当前,用户收到“产品已存在”错误消息。但是我实际上想渲染已经存在的产品。这是详细产品的功能:
def add(request):
...
product.product_id = soup.find('h1', class_='product-id').text
if Product.objects.filter(product_id=product.product_id):
return render(request, 'product/add.html', {'error': 'Product already exists'})
else:
product.title = soup.find('h1', class_='product-name').text
...
product.save()
return redirect('/product/' + str(product.id))
详细产品的URL如下:http://example.com/product/22 可能有更好的方法来检索,比较然后呈现对象。请告诉我。预先感谢!
答案 0 :(得分:1)
您可以直接重定向到产品的定义的get_absolute_url属性吗?
public void secondTest(){
step1();
step2().takeScreenshot();
step3().takeScreenshot();
step4();
step5();
step6().takeScreenshot();
}