首页 > 解决方案 > 在 django 中跨所有 URL 设置推荐代码的最佳方法

问题描述

我想知道在不更改 URL 模式和视图的情况下跨所有 URL 设置会话 ID 的最佳方法是什么。在 urls.py 的顶部创建一个 URL,在视图中设置会话 id 并重定向到没有引用代码的 url,这是一个好主意吗?

让我给你举个例子:

  1. 设置顶级 url 以捕获任何带有推荐代码的链接
urlpatterns = [
    re_path(r'^(.*)/ref/<str:ref_code>/$', views.set_ref_code),
    path('', views.index, name='index'),
    path('news/', views.news_list, name='news_list'),
  1. 在会话中设置推荐代码并重定向到没有推荐代码的 url
def set_ref_code(request, ref_code):
    url = request.path
    redirect(url)

我不确定这个例子是否有效。这只是解释我的想法的一个例子。

也许有更好的解决方案来设置所有 Web 应用程序的推荐 ID?

标签: django

解决方案


推荐阅读