【问题标题】:Creating random URLs in Django在 Django 中创建随机 URL
【发布时间】:2019-06-29 10:58:23
【问题描述】:

我使用 django 2.1 谢谢你的帮助:)

【问题讨论】:

  • 欢迎来到 StackOverflow。请填写您的tour 并查看How to Ask。请注意 StackOverflow 不是编码服务,但如果您已尝试实现您想要的,并且对该尝试有疑问,请edit 您的问题以minimal reproducible example 的形式提供您的代码,以增加您的机会接受帮助。

标签: python django frameworks


【解决方案1】:

首先,让我说这看起来像一个反模式。

在 Django 上,您可以设置匹配某个表达式的 url:

path('secret/<slug:passwd>/', views.super_secret, name="secret")

然后,你可以用key重定向到这个url:

if form.is_valid():
    some_key = #some random key
    cache.set(some_key, True, 3)
    return HttpResponseRedirect(reverse('secret', args=(some_key,)))

并在secret 视图中从缓存中检查您的密钥。

【讨论】:

    【解决方案2】:

    您可以使用来自django.urlreverse 执行此操作,并且可以随机传递argskwargs link

    说你的网址是这样的

    urlpatterns = [
        path('articles/', your_article_view),
        path('articles/<slug:slug>/', your_article_slug_view),
    ]
    

    您可以从您的article_view 重定向到article_slug_view as

    reverse('articles', args=['hello'])
    '/articles/hello' # url
    

    您可以生成uuid 并通过它传递它,这将始终确保每次随机不同的url。随心所欲。

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 2014-01-22
      • 1970-01-01
      • 2021-03-16
      • 2016-04-14
      • 1970-01-01
      • 2016-10-07
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多