【发布时间】:2020-12-22 17:43:54
【问题描述】:
我有一个关于根据 Django url 和路径生成示例 url 的问题。
例如,如果我有 2 个网址,例如:
path('example/<int:example_id>/', views.some_view, name='example')
url(r'^example/(?P<example_id>[0-9]+)/$', views.some_view, name='example')
是否可以通过 Django 内置方式以某种方式生成用于测试的示例完整 URL,例如:
example/234/
example/93/
example/228/
etc…
随机。
对于基于具体名称+regex或converter参数的不同url?
换句话说,Django 在源代码中理解<int:example_id> 是一个整数等等。如果我有类似的东西:1)我希望example/ 2)我希望int - 我将能够使用它来生成随机示例网址。
希望这很清楚......
这些网址只是一个示例。真实的网址会有所不同。
谢谢。
【问题讨论】:
-
这简单归结为将其替换为正则表达式:github.com/django/django/blob/master/django/urls/…,然后在捕获参数时自动调用字符串捕获上的
to_python:github.com/django/django/blob/master/django/urls/… -
至于生成随机url,并不是说这个
example_id后面有对象,所以你生成的url最终会导致视图404。 -
但是对于正则表达式,您可以生成随机字符串,特别是因为这最终归结为有限状态机。
标签: django