Я пытаюсь отобразить шаблон на Django 3.0, и я получаю ошибку NoReverseMatch. Очевидно, что url.py и views.py не показывают шаблон. Я на странице администратора добавляю новую запись, но когда я нажимаю Показать на сайте, я получаю эту ошибку. 1) Что означает первая часть admin/r/1/APT2
url, особенно r/1
? Я считаю, что это должно перенаправить на apartment_create. html, но функция просмотра не существует или URL с таким именем не существует. Но, по-моему, есть.
NoReverseMatch at /admin/r/1/APT2/
Reverse for 'apartment_create' not found. 'apartment_create' is not a valid view function or pattern name.
views.py
class ApartmentCreate(CreateView):
# make a form based on this model
form_class=ApartmentForm
# if we only want to edit these two fields
# fields = ('first_name', 'last_name')
fields = '__all__'
class Meta:
widgets = {'geom': LeafletWidget()}
# render this html file, pass a form object to that file
template_name = 'rent_app:apartment_create.html'
#template_name = 'rent_app/form_template.html'
def get_success_url(self):
return reverse('rent_app:apartment_create_success')
urls.py
from django.urls import path
from . import views
from django.contrib import admin
app_name = 'rent_app'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('admin/', admin.site.urls),
path('apartment_create/<slug:apt_id>', views.ApartmentCreate.as_view(), name='apartment_create'),
path('apartments/<int:pk>/', views.ApartmentUpdate.as_view(), name='apartment_update'),
path('apartments/<int:pk>/delete/', views.ApartmentDelete.as_view(), name='apartment_delete'),