我已经坚持了一段时间,似乎无法修复错误。我不在视图中的任何位置使用reverse()
。
urls.py
urlpatterns = [
url(r"^book/", include("bookings.urls")),
]
bookings.urls.py
from django.conf.urls import url
from . import views
app_name = 'bookings'
urlpatterns = [
url(r'^charge/$', views.charge, name='charge'),
url(r'^booking/$', views.booking, name='booking'),
]
views.py
def booking(request):
# some code
render(request, 'bookings/template.html', {'listing': listing,})
def charge(request):
# some code
template.html
<form action="{% url 'bookings:charge' %}" method="post">
我尝试了所有不同的更改和命名空间,例如试图在urls.py等中使用charge
,不同的命名空间。
当我渲染book/booking/
时,我收到以下错误:
未找到“充电”的反向。 'charge'不是有效的视图功能 或模式名称。
答案 0 :(得分:2)
如果您想以这种方式使用网址标记,则需要在urls.py中使用namespace
。
url(r"^book/", include("bookings.urls", namespace="bookings")),
然后您可以在模板中使用{% url 'bookings:charge' %}
。