如何配置django表单以销售定制产品?

如何配置django表单以销售定制产品?,django,python-3.x,django-forms,Django,Python 3.x,Django Forms,我刚刚开始学习Django,并根据Antonio Mele在其《Django 2 by Example》一书中的教程设置了一个简单的购物车。我可以选择产品,然后数量将是一个选项。这适用于一般产品。如果我有定制产品,如雕刻笔,该怎么办?买方选择3个数量,但他希望在钢笔上刻上不同的名字。我该怎么做 下面是控制数量的forms.py的代码 from django import forms PRODUCT_QUANTITY_CHOICES = [(i, str(i)) for i in range(1

我刚刚开始学习Django,并根据Antonio Mele在其《Django 2 by Example》一书中的教程设置了一个简单的购物车。我可以选择产品,然后数量将是一个选项。这适用于一般产品。如果我有定制产品,如雕刻笔,该怎么办?买方选择3个数量,但他希望在钢笔上刻上不同的名字。我该怎么做

下面是控制数量的forms.py的代码

from django import forms

PRODUCT_QUANTITY_CHOICES = [(i, str(i)) for i in range(1, 11)]

class CartAddProductForm(forms.Form):
    quantity = forms.TypedChoiceField(choices=PRODUCT_QUANTITY_CHOICES, coerce=int)
    update = forms.BooleanField(required=False, initial=False, widget=forms.HiddenInput)
HTML模板的相关部分如下所示

  {% for item in cart %}
    {% with product=item.product %}
      <tr>
        <td>{{ product.name }}</td>
        <td>
          <form action="{% url "cart:cart_add" product.id %}" method="post">
            {{ item.update_quantity_form.quantity }}
            {{ item.update_quantity_form.update }}
            <input type="submit" value="Update">
            {% csrf_token %}
          </form>
        </td>
        <td><a href="{% url "cart:cart_remove" product.id %}">Remove</a></td>
        <td class="num">${{ item.price }}</td>
        <td class="num">${{ item.total_price }}</td>
      </tr>
    {% endwith %}
  {% endfor %}
{%用于购物车%中的项目]
{%with product=item.product%}
{{product.name}
{{item.update\u quantity\u form.quantity}}
{{item.update\u quantity\u form.update}
{%csrf_令牌%}
${{item.price}}
${{item.total_price}
{%endwith%}
{%endfor%}

很好,你从Django开始

对于复杂的车间系统,如果您决定使用预构建的Django包,那么在后台已经有很多工作要做

您可以在这里找到所有良好且维护良好的电子商务软件包:

一个非常好的起点是阅读django oscar的文档,这是最好的最新电子商务商店系统。这样,您就可以深入了解django商店的所有机会,并在后台使用可靠的系统

如果你想坚持你的教程,你可以这样做:

  • 将文本字段添加到您的笔模型中,如
    雕刻\u text=models.CharField(默认值=None)

  • 添加雕刻文字作为类似AddingRavedPentoCartForm的表单的表单字段

  • 就像这样,每一支单独雕刻的钢笔都是它自己的产品

    亲切问候,,
    Ben

    Django Oscar有很多依赖项需要我安装吗?当有很多运动部件时,调试出什么问题真的很痛苦。我在使用像Django Oscar这样的主要解决方案和从头开始之间左右为难。我只是担心如果我在Django Oscar遇到障碍,我学到的东西是不可转让的。好吧,别害怕,试试看。只要做:1。“manage.py mkvirtualenv奥斯卡”2。“pip安装django oscar”(将安装全新的空白版django,仅供测试)3。django-admin.py startproject演示商店。这样,您就可以在不破坏任何功能的情况下测试所有功能。并阅读文档: