我已将“Produkte”模型中的值 {{ p.emri }} 和 {{ p.cmimi }} 显示到我的 Browse.html 上。到目前为止一切顺利,但现在我尝试在views.py 中编写一个函数来获取这些值,并在按下提交按钮时将它们发布到另一个名为“AddToCart”的模型中。
我正在尝试编写views.py函数,我正在考虑首先使用“GET”方法获取值并将它们存储在变量中,然后使用“POST”方法将这些变量保存到模型中“添加到购物车”
这是“Browse.html”文件,其中显示模型“Produkt”中的值
{% for p in produktet %}
<div class="col-md-3 col-sm-12 col-xs-12 on-over" style="...">
<img class..." src="{{ p.foto }}">
<label class="label-ge">{{ p.emri }}</label>
<p><label style="...">{{ p.cmimi }} LEK</label></p>
<h4>Pershkrimi</h4>
<p>{{ p.pershkrimi }}</p>
<button class="btn..." style="...">Add to Cart</button>
</div>
{% endfor %}
这是“Produkt”和“AddToCart”模型
class Produkte(models.Model):
emri = models.CharField(max_length=50)
pershkrimi = models.CharField(max_length=500)
cmimi = models.IntegerField()
foto = models.CharField(max_length=500)
kategori = models.ForeignKey(Kategorite, on_delete = models.DO_NOTHING)
def __str__(self):
return self.emri
class AddToCart(models.Model):
id = models.AutoField(primary_key=True, unique=True)
id_product = models.ForeignKey(Produkte, on_delete = models.DO_NOTHING)
quantity = models.IntegerField()
id_user = models.ForeignKey(User, on_delete = models.DO_NOTHING)
orderd = models.BooleanField(default=False)
@property
def cmimi_total(self):
return self.quantity * self.id_product.cmimi
这是我正在尝试创建的 View 函数
def buy_now(request):
if request.method =='GET':
price = browse(request.GET['p.cmimi'])
emri = browse(request.GET['p.emri'])
if request.method == 'POST':
我想获得与 p.emri 和 p.cmimi 相同的值并将它们存储到 AddToCart 模型中,之后我必须获取存储的值并将它们显示到另一个静态文件中,但我可以处理这个问题。谢谢!
最佳答案
您无法通过 GET 请求访问变量,您需要 POST 请求。您可以使用页面上的“添加到卡片”元素作为表单提交按钮。您提交的表单可以包含您需要作为隐藏输入的变量值。例如:
<form method="post" action="your/add/to/cart/url/">
{% csrf_token %}
<input type="hidden" name="p.emri" value="{{ p.emri }}">
<input type="hidden" name="p.cmimi" value="{{ p.cmimi }}">
等等
然后,在您的 View 中,您可以从 POST 请求访问这些值并更新您的模型实例:
def buy_now(request):
if request.method == 'POST':
price = browse(request.POST['p.cmimi'])
emri = browse(request.POST['p.emri'])
每当您需要更新任何内容时,您都应该发布您的数据。
关于python - 如何从静态页面获取值并将其发布到模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55461821/