无法在 Django 中相互链接文件

问题描述 投票:0回答:1

我正在做某件事,但我被困住了。 这就是我想要做的 - 假设用户在网站上输入订单号(名为index.html),我想检查该订单是否存在于数据库中。如果是这样,那么它应该将用户重定向到发货页面 (shipment.html),其中所有详细信息都可用。我完全空白,没有任何想法。请帮忙。

编辑 - 尝试运行此程序时没有错误,但当用户在网站上输入订单号时没有任何反应。该网站除了重新加载页面之外什么也不做。

这是我尝试做的,但仍然不起作用! **这是源代码- ** 索引.html - `{% 块内容 %}

          {% csrf_token %}
            <button type="submit">
              Track
            </button>
        </form>
      {% endblock %}
      {% if messages %}
        <ul class="messages">
          {% for message in messages %}
            <li {% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
          {% endfor %}
        </ul>
    {% endif %}`

**views.py - **

def shipment(request):
    if request.method == 'POST':
        order_number = request.POST['order_number']
        try:
            shipment = Shipment.objects.get(order_number=order_number)
            return redirect('shipment')
        except Shipment.DoesNotExist:
            message = f"Order ID {order_number} does not exist in the database."
    else:
        message = ""
    return render(request, 'index.html', {'message': message})

**models.py - **

class Shipment(models.Model):
    member_id = models.CharField(max_length=100)
    order_number = models.CharField(max_length=100)
    tracking_id = models.CharField(max_length=10)
    priority = models.IntegerField()
    current_location = models.CharField()
    destination = models.CharField(max_length=100)
    delivery_date = models.IntegerField()

**urls.py - **


urlpatterns = [path("", views.index, name="index"),
               path("", views.login, name="login"),
               path('', views.shipment, name='shipment'),
               path('index.html', views.index, name='index'),
               path('shipment', views.shipment, name='shipment'),]

我已经提供了所有可能有帮助的必要代码。我希望有人能站出来帮助我。

html django postgresql django-models django-views
1个回答
0
投票

尝试:

  1. 检查表单方法是index.html上的POST()
  2. request.POST.get('order_number')
© www.soinside.com 2019 - 2024. All rights reserved.