Как сохранить реализацию на javascript в Django

Я студент, который изучает Janggo. Я реализую страницу, которая представляет информацию о выбранной опции, когда я выбираю опцию. Исходный код может быть написан следующим образом для настройки количества, и цена была реализована для изменения в зависимости от количества. Я хочу сохранить части количества и цены в db, но понятия не имею, что делать. Как можно решить эту проблему?

html

        <form method="POST" action="{% url 'zeronine:join_create' id=product.product_code %}">
        <div class="form-group row" style="margin-top: -5px">
            <label for="optionSelect" class="col-sm-6 col-form-label"><b>옵션</b></label>
                <div class="col-sm-6" style="margin-left: -90px;">
                     <select type="text" class="form-control" name="value_code" id="optionSelect" value="{{ form.value_code }}">
                         <option value="none">옵션을 선택하세요.</option>
                            {% for option in option_object %}
                               {% if option.option_code.option_code.option_code == value.option_code %}
                                   {%if option.product_code == product %}
                                       <optgroup label="{{option.name}}">
                            {% for value in value_object %}
                               {% if value.option_code.option_code == option.option_code %}
                                   {%if value.product_code == product %}
                                         <option data-price="{{value.extra_cost}}"value="{{value.value_code}}">{{value.name}} (+{{value.extra_cost}}원)</option>
                                   {% endif %}
                               {% endif %}
                            {% endfor %}
                                   {% endif %}
                               {% endif %}
                            {% endfor %}
                                     </optgroup>
                    </select>

                </div>
             <div id="selectOptionList" style="margin-top:10px; margin-left: 20px; margin-bottom: -10px;"></div>
        </div>

script

forms.py

class ElementForm(forms.Form):
    value_code = forms.ModelChoiceField(error_messages={'required': "옵션을 선택하세요."}, label="옵션", queryset=Value.objects.all())

class JoindetailForm(forms.Form):
    quantity = forms.IntegerField(error_messages={'required': "1개 이상 선택 시 참여가 가능합니다."}, label="수량")
    price = forms.IntegerField(error_messages={'required': "1개 이상 선택 시 참여가 가능합니다."}, label="가격")

views.py

models.py

Я думаю, что вы можете использовать request.POST.get(''), потому что в вашем html я не вижу JoindetailForm, поэтому ваш form = JoindetailForm(request.POST) будет иметь значение Null, вы можете попробовать следующее:

вы можете добавить свой unit_amount * quantity к значению ввода и тип скрыт:

<input type="hidden" name="price" value="">

в представлении используйте request.POST.get('') для получения скрытого значения:

price = request.POST.get('price')

и использовать objects.create лучше, чем Form():

JoinDetail.objects.create(price=price, quantity=quantity)

и вы должны много if request.method == "POST": в первом, если это POST, то request.method будет POST, так что просто оставьте первый раз будет хорошо и легко отлаживать.

Вернуться на верх