Пользовательские url не работают в Django для представлений
У меня следующая установка в proj.urls.py
:
urlpatterns = [
path('', admin.site.urls),
path('api/v1/prealert/', include('prealert.urls')),
]
Затем в моем приложении prealert
, это моя настройка для URL (prealert.urls.py
), у меня есть :
app_name = 'prealert'
urlpatterns = [
path('search_holding_certificate/',
views.search_housing_certificate_view,
name='search-hc')
]
Это мое мнение :
@csrf_protect
def search_housing_certificate_view(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = HousingCertificateSearchForm(request.POST)
# check whether it's valid:
if form.is_valid():
lot = ManagementByLot.objects.all()
customer = form['customer'].value()
product = form['product'].value()
ware = form['ware'].value()
season = form['season'].value()
entity = form['entity'].value()
url = f"{reverse('admin:prealert_managementbylot_changelist')}?customer={customer}&product={product}"
return HttpResponseRedirect(url)
# if a GET (or any other method) we'll create a blank form
else:
form = HousingCertificateSearchForm()
return render(
request, 'admin/search_housing_certificate.html', {'form': form}
)
Когда я обращаюсь к представлению через этот URL, оно не работает:
http://127.0.0.1:8000/api/v1/prealert/search_holding_certificate/
если я не добавлю в Django URL по умолчанию слово admin тогда все работает:
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/prealert/', include('prealert.urls')),
]
Что вызывает это? Я использую Django 4.0.3