Django `Not Found: /payment_getway/` Ошибка - URL Path Not Resolving
Я столкнулся с ошибкой Not Found: /payment_getway/
в моем приложении Django. Несмотря на настройку пути к URL и функции просмотра, Django не может найти указанный URL. Я привел все соответствующие фрагменты кода и конфигурации ниже. Я не уверен, что может быть причиной этой проблемы.
Вот краткий обзор того, что я сделал:
- Конфигурация URL:
В моем приложении urls.py
я определил путь для функции представления payment_getway
:
urlpatterns = [
path('payment_getway/', payment_getway, name='payment_getway'),
path('order-confirmation/', order_confirmation, name='order_confirmation'),
]
- Функция просмотра:
Функция просмотра payment_getway
определяется следующим образом:
from django.shortcuts import render, redirect, get_object_or_404
from django.utils import timezone
from .models import CartOrder, Address
def payment_getway(request):
if request.method == "POST":
user = request.user
address_id = request.POST.get('address_id') # Ensure this ID is passed in your form
# Retrieve the address instance
address_instance = get_object_or_404(Address, id=address_id, user=user)
# Create a new CartOrder instance
order = CartOrder(
user=user,
full_name=address_instance.name,
email=address_instance.email,
mobile=address_instance.mobile,
address=address_instance, # Assign the Address instance here
landmark=address_instance.landmark,
city=address_instance.region,
state=address_instance.region, # Update as per your address model
postalCode=address_instance.pin,
item="Your Item", # Update this as necessary
price=100.00, # Example price, adjust accordingly
saved=0.00, # Example saved amount, adjust accordingly
shipping_method="Standard", # Update this as necessary
tracking_id="Tracking ID", # Example tracking ID
tracking_website="Tracking Website", # Example tracking website
paid_status=False,
stripe_payment_intent="Stripe Intent", # Example Stripe Intent
order_date=timezone.now(), # Use timezone.now() for current datetime
product_status="processing", # Example status
)
order.save()
return redirect('core:order_confirmation')
user = request.user
addresses = Address.objects.filter(user=user)
return render(request, "core/payment-getway.html", {"addresses": addresses})
- Шаблон:
Шаблон payment-getway.html
устроен следующим образом:
Предпринятые шаги по устранению неисправностей:
- Проверьте шаблон URL в
urls.py
. - Проверили функцию просмотра в
views.py
на наличие ошибок. - Убедитесь, что шаблон
payment-getway.html
существует и находится в правильном каталоге. - Перезагрузите сервер разработки Django.
Вопросы:
- Почему Django не находит URL
/payment_getway/
? - Есть ли потенциальная проблема в том, как определен URL или как настроена функция представления?
- Есть ли какие-либо дополнительные проверки, которые я должен выполнить, чтобы убедиться, что маршрутизация URL настроена правильно?
Любые рекомендации или предложения будут высоко оценены!
Спасибо!
Вы не сопоставили свои URL с функциями представления. В вашем urls.py сначала импортируйте ваши представления
from . import views
Затем сопоставьте ваши URL с вашими представлениями:
urlpatterns = [
path('payment_getway/', views.payment_getway, name='payment_getway'),
path('order-confirmation/', views.order_confirmation, name='order_confirmation'),
]
Смотрите диспетчер URL
Здравствуйте. Я пользователь Django из Кореи.
Думаю, вы не добавили url в стандартный urls.py. urls.py, который находится в нескольких директориях приложения, нужно добавить в config/urls.py
# config/urls.py
urlpatterns = [
...
path('payment_getway/', payment_getway, name='payment_getway'),
path('order-confirmation/', order_confirmation, name='order_confirmation'),
]
OR
from django.urls import include
urlpatterns = [
...
path({url path}, include({app name.urls})),
]