NoReverseMatch в / в django3 - PullRequest
0 голосов
/ 23 марта 2020

Обратное для delete_order без аргументов не найдено. Попробован 1 шаблон (ов): ['delete_order / (? P [^ /] +) / $'] Это ошибка. Файл Dashboard html после добавления URL в ссылку Удалить я получаю эту ошибку

<div class="col-md-7">
        <h5>LAST 5 ORDERS:</h5>
        <hr>
        <div class="card card-body">
          <a class="btn btn-primary btn-sm btn-block" href="{% url 'create_order' %}">Create Order</a>
          <table class="table table-sm">
            <tr>
              <th>Product</th>
              <th>Date Ordered</th>
              <th>Status</th>
              <th>Update</th>
              <th>Remove</th>
            </tr>
            {% for or in orders %}
            <tr>
              <td>{{or.product}}</td>
              <td>{{or.date_created}}</td>
              <td>{{or.status}}</td>
              <td><a class = "btn btn-sm btn-info" href="{% url 'update_order' or.id %}">Update</a> </td>
                        <td><a class="btn btn-sm btn-danger"href="{% url 'delete_order' %}">Remove</a> </td>
            </tr>
            {% endfor %}
          </table>

Это мой файл views.py.

def updateOrder(request,pk):
    order = Order.objects.get(id=pk)
    form = OrderForm(instance=order)

    if request.method == "POST":
        form=OrderForm(request.POST,instance=order)
        if form.is_valid:
            form.save()
            return redirect('/') 

    con = {'form':form}
    return render(request,'food/orderform.html',con)


def deleteOrder(request,pk):
    order = Order.objects.get(id=pk)
    con={'item':order}
    return render(request,'food/deleteform.html',con)

Это мои URL .py файл. Последний - это URL для операции удаления

from django.urls import path
from . import views



urlpatterns = [
    path('',views.home, name="home"),
    path('products/', views.products,name="products"),
    path('customer/<str:pk_test>/',views.customer,name = "customer"),
    path('create_order/',views.create_order,name="create_order"),
    path('update_order/<str:pk>/',views.updateOrder,name="update_order"),
    path('delete_order/<str:pk>/',views.deleteOrder,name="delete_order"),
]

Это код файла models.py

from django.db import models

# Create your models here.
class Customer(models.Model):
    name = models.CharField(max_length = 200,null = True)
    phone = models.CharField(max_length = 200, null = True)
    email = models.CharField(max_length = 200,null = True)
    date_created = models.DateTimeField(auto_now_add= True)

    def __str__(self):
        return self.name

class Tag(models.Model):
    name = models.CharField(max_length = 200,null = True)

    def __str__(self):
        return self.name 

class Product(models.Model):
    CATERGORY = (
        ('Indoor','Indoor'),
        ('Outdoor','Outdoor'),
    )
    name = models.CharField(max_length = 200,null = True)
    price = models.FloatField(null = True)
    category = models.CharField(max_length = 200,null = True,choices = CATERGORY)
    description = models.CharField(max_length = 200,null = True,blank=True)
    date_created = models.DateTimeField(auto_now_add= True)
    tags = models.ManyToManyField(Tag)

    def __str__(self):
        return self.name



class Order(models.Model):
    STATUS = (
        ('Pending','Pending'),
        ('Out for delivery','Out for delivery'),
        ('Delivered','Delivered'),
    )
    customer = models.ForeignKey(Customer,null = True,on_delete=models.SET_NULL)
    product = models.ForeignKey(Product,null=True,on_delete=models.SET_NULL)
    date_created = models.DateTimeField(auto_now_add= True)
    status = models.CharField(max_length = 200,null = True, choices=STATUS)

    def __str__(self):
        return self.product.name

Ответы [ 2 ]

0 голосов
/ 23 марта 2020
<td><a class = "btn btn-sm btn-info" href="{% url 'update_order' or.id %}">Update</a> </td>
<td><a class="btn btn-sm btn-danger"href="{% url 'delete_order' %}">Remove</a> </td>

аналогично Обновить идентификатор передачи шаблона на Удалить шаблон:

{% url 'delete_order' o.id %}
0 голосов
/ 23 марта 2020
<td><a class="btn btn-sm btn-danger"href="{% url 'delete_order' or.id %}">Remove</a> </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...