Текущий путь, клиент, не соответствует ни одному из них. даже если все остальные пути работают правильно - PullRequest
0 голосов
/ 26 мая 2020

ОШИБКА: Используя URLconf, определенный в crm1.urls, Django попробовал эти шаблоны URL-адресов в следующем порядке:

admin/
[name='home']
products/ [name='products']
customer/<str:pk_test>/ [name='customer']
create_order/<str:pk>/ [name='create_order']
update_order/<str:pk>/ [name='update_order']
delete_order/<str:pk>/ [name='delete_order']

Текущий путь, customer, не соответствует ни одному из них. даже когда я запускаю это ..... accounts / urls.py

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/<str:pk>/',views.createOrder,name='create_order'),
    path('update_order/<str:pk>/',views.updateOrder,name='update_order'),
    path('delete_order/<str:pk>/',views.deleteOrder,name='delete_order'),
]

, все пути работают правильно, и даже когда я запускаю http://127.0.0.1: 8000 / customer / 2
он работает правильно .... но когда я запускаю http://127.0.0.1: 8000 / customer / на самом деле ошибка

/<str:pk_test>/

вид пути создает проблему, я не знаю

1 Ответ

1 голос
/ 26 мая 2020

Ну нет маршрута только для клиента. Итак, добавьте эту строку в свой urls.py:

path('customer/',views.customer,name='customer-only'),

* Примечание: - Добавьте строку над другим кодом. Например: -

path('customer/',views.customer,name='customer-only'),
path('customer/<str:pk_test>/',views.customer,name='customer'),

Хорошо, поскольку ваш views.py требует аргумента, вы должны сделать:

def customer(request, pk_test=None): 
    customer=Customer.objects.get(id=pk_test) 
    orders=customer.order_set.all() 
    order_count =orders.count() 
    context={'customer':customer,'orders':orders,'order_count':order_count} 
    return render(request,'accounts/customer.html',context)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...