提问人:Leonie 提问时间:10/8/2023 更新时间:10/8/2023 访问量:26
如何使用多个应用程序在 Django 中呈现 URL 模式
how to render URL patterns in Django with multiple apps
问:
我正在尝试使用 Django 构建一个预订系统。我有多个应用程序,渲染 url 模式很难理解,当您有多个应用程序时,我发现文档几乎没有帮助。
这是我的核心应用程序 url:
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('review.urls'), name='review_urls'),
path('accounts/', include('allauth.urls')),
path('bookings/', include('booking.urls'), name='booking_urls'),
]
预订应用程序 urls:
urlpatterns = [
path('booking', views.customer_booking, name='booking'),
path('display_booking', views.display_booking, name='display_booking'),
path('edit_booking/<booking_id>',
views.edit_booking, name='edit_booking'),
]
我正在尝试呈现我的edit_booking视图:
def edit_booking(request, booking_id):
booking = get_object_or_404(Booking, id=booking_id)
if request.method == "POST":
form = BookingForm(request.POST, instance=booking)
if form.is_valid():
form.save()
return redirect('display_booking')
form = BookingForm(instance=booking)
context = {
'form': form
}
return render(request, 'edit_booking.html', context)
调用位置:
<a href="/edit_booking/{{ booking.id }}"> <button>Edit</button></a>
我尝试将 bookings/ 添加到我的编辑按钮中,但这请求一个包含 bookings/bookings/edit_booking/7 的页面。没有它,它只是请求端点 edit_booking/7
答:
1赞
logan_9997
10/8/2023
#1
您需要使用模板标签url
<a href="{% url 'edit_booking' booking.id %}"> <button>Edit</button></a>
评论