我有一个由另一个人开发的网络应用程序,他不再愿意帮助解决错误。我有一些经验,但显然不足以解决这个问题。
在网络应用程序中,有一个按钮在单击时不执行任何操作。它应该将用户信息保存到数据库中。我不明白点击事件如何与views.py 文件相关联。
在我的 templates/add-inventory.html 中我看到:
<a href="{% url 'crm:inventory' %}" class="btn btn-light rounded-pill me-1"> Cancel </a>
<button type="submit" class="btn btn-success rounded-pill"> Save </button>
保存按钮没有执行任何操作。 我在views.py中看到:
@login_required(login_url='crm:login')
@permission_required("crm.add_inventory", raise_exception=True)
def addInventory(request):
form = InventoryForm()
staff = User.objects.all().order_by('first_name')
vendor_form = VendorForm()
if request.method == 'POST':
form = InventoryForm(request.POST)
if form.is_valid():
inventory_instance = form.save()
if not request.POST.get('vendor'):
vendor_form = VendorForm(request.POST)
if vendor_form.is_valid():
vendor = vendor_form.save(commit=False)
vendor.added_by = request.user
vendor.save()
inventory_instance.vendor = vendor
inventory_instance.save()
stocks = request.POST.getlist('stock')
for i in range(len(staff)):
if int(stocks[i]) > 0:
InventoryStock.objects.create(
inventory = inventory_instance,
user = staff[i],
stock = stocks[i]
)
messages.success(request, 'Item added successfully')
return redirect('crm:inventory')
按钮如何调用views.py中的代码?任何帮助表示赞赏。 我将所有文件下载到本地并使用 VS Code 进行调试,但没有任何进展。
我将 name=addInventory" 添加到 add-inventory.html 文件中,如下所示 这没有任何作用。
<a href="{% url 'crm:inventory' %}" class="btn btn-light rounded-pill me-1"> Cancel </a>
<button type="submit" class="btn btn-success rounded-pill" name="AddInventory"> Save </button>
下面的代码来自请求的 urls.py 文件。希望这是您需要的信息。
path('inventory', inventory, name='inventory'),
path('inventory/add', addInventory, name='add-inventory'),
path('inventory/update/<int:pk>', updateInventory, name='update-inventory'),
path('inventory/delete/<int:pk>', deleteInventory, name='delete-inventory')
假设您已经在
app_name = "crm"
中提供了 urls.py
,您只需将按钮的 url 更改为 {% url 'crm:add-inventory' %}
您在 urls.py
文件中提供的名称。
如果您已经设置 VSCode 来正确调试,您应该能够在
inventory
视图和 addInventory
视图中放置断点,您会注意到您正在调用第一个,因为它的名称是 inventory