Я делаю приложение, чтобы сэкономить пробег грузовика в каждом штате.Я уже передал необходимые данные для просмотра, а затем подумал изменить свои URL-адреса на более логичные.И после этого я столкнулся с проблемой.Я не знаю, что должно быть вместо «unit.unit_number», и это требуется в моем html-файле, чтобы он работал правильно.Я не нашел ничего, что могло бы объяснить, как с этим бороться.
Если я пытаюсь получить доступ к mywebsite.com/core/units/1/locations/add/, я получаю следующее сообщение об ошибке: «NoReverseMatch at /core / units / 1 / location / add / "
Но если вместо" unit.unit_number "указать только число (например, 1), страница загружается нормально, но я получаю сообщение об ошибке после попыткиопубликуйте данные: «Ошибка TypeError в / core / units / 1 / location / add / _reverse_with_prefix () после * должна быть повторяемой, а не int»
<form action="{% url 'Core:unit_add_location' unit.unit_number %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="container">
<div class="inner-container border-full">
<button type="button" class="button button-normal" onclick="AddRow()">Add</button>
<input type="submit" class="button button-submit" name="count-ifta" value="Save">
<div class="inner-container border-top-bottom">
<table id="myTable" name="state-miles-data">
<thead>
<th class="text-blue">State</th>
<th class="text-blue">Miles</th>
</thead>
</table>
<br>
</div>
</form>
<button type="button" class="button button-normal" onclick="AddRow()">Add</button>
</div>
</div>
def unit_data(request, unit_number):
return HttpResponse(unit_number)
def unit_add_location(request, unit_number):
if "GET" == request.method:
return render(request, 'Core/add_location.html')
elif "POST" == request.method:
states_request = request.POST.getlist('states')
miles_request = request.POST.getlist('miles')
return HttpResponseRedirect(reverse('Core:unit_data', args=(unit_number)))
urlpatterns = [
path('units/', views.units_all, name = 'units_all'),
path('units/<int:unit_number>/', views.unit_data, name = 'unit'),
path('units/<int:unit_number>/locations/', views.unit_locations, name = 'unit_locations'),
path('units/<int:unit_number>/locations/add/', views.unit_add_location, name = 'unit_add_location'),
path('units/<int:unit_number>/locations/<int:report_id>', views.unit_location, name = 'unit_location'),
]
Так чтоЯ хочу сделать, это опубликовать данные и перенаправить на URL "mywebsite.com/units/1/locations/", который обрабатывается представлением "unit_locations"