urls.py
urlpatterns = [
re_path(r'^([-\w]{3,})/$', shop_from_url, name='shop_from_url'),
path('ckeditor/', include('ckeditor_uploader.urls')),
path('', include('products.urls')),
path('authenticate/', include('authenticate.urls')),
path('order/', include('order.urls')),
path('offers/', include('offers.urls')),
path('event/', include('event.urls')),
path('product_upload/', include('product_upload.urls')),
path('restaurant/', include('restaurant.urls')),
path('shop/', include('store.urls')),
]
我有这些 url 模式。如果你看的话,第一个和其他 url 路径,它们的编写方式完全相同。不同之处仅在于第一个 url 是参数化的 url,其他的是硬编码的 url。
但实际上,当我调用任何 url 时,第一个 url 也会被调用。
我必须检查是否有任何现有 url(如authenticate/
, product_upload/
)与任何应用程序 url 匹配,然后它应该重定向到那个,否则它应该调用re_path(r'^([-\w]{3,})/$')
(第一个 url)这个 url
仅当 url 与其他 url 不匹配时,是否有任何方法可以调用第一个 url(位于此模式中)。
注意:我不能更改网址,因为这是一项要求。