Как получить значение со статической страницы и опубликовать его в модели - PullRequest
1 голос
/ 01 апреля 2019

Я показал значения {{p.emri}} и {{p.cmimi}}, которые находятся в модели "Produkte", в моем Browse.html. Пока все хорошо, но сейчас я пытаюсь написать функцию в views.py, чтобы получить эти значения и отправить их в другую модель с именем «AddToCart», когда я нажимаю кнопку «Отправить».

Я пытаюсь написать функцию views.py, в которой я думаю сначала получить значения с помощью метода "GET" и сохранить их в переменных, а затем использовать метод "POST" для сохранения этих переменных в модели ". AddToCart "

Это файл «Browse.html», в котором значения отображаются из модели «Продукт»

{% 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 %}

Это модели "Продукт" и "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

и это функция просмотра, которую я пытаюсь создать

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, после этого мне нужно получить сохраненные значения и показать их в другом статическом файле, но я могу позаботиться об этом. Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019

Вы не можете получить доступ к своим переменным из запроса 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 }}">

И т.д.

Затем в своих представлениях вы можете получить доступ к этим значениям из запроса POST и обновить экземпляры модели:

def buy_now(request):
    if request.method == 'POST':
        price = browse(request.POST['p.cmimi'])
        emri = browse(request.POST['p.emri'])

Всякий раз, когда вам нужно что-то обновить, вы всегда должны размещать свои данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...