【发布时间】:2017-08-19 11:06:22
【问题描述】:
所以我试图在 django 应用程序中创建一个服务器控制页面,其中包含一个服务器列表,这些服务器通过 uuid 链接到启动、克隆和停止每个相应的服务器。 (想想一个非常糟糕的openstack UI)。这是生成 url 的代码。
<li><a href="{% url 'start' uuid=uuid %}">Start</a></li>
<li><a href="{% url 'clone' uuid=uuid %}">Clone</a></li>
<li><a href="{% url 'stop' uuid=uuid %}">Stop</a></li>
不幸的是,当我单击 Web 应用程序上的克隆链接时,它会启动而不是克隆服务器,这意味着它正在视图中运行启动功能。
以下是 url 的定义方式:
urlpatterns = [
url(r'^$', views.index, name='index'),
#url(r'^$', views.transfer, name='transfer'),
url(r'^malware/$', views.malware, name='malware'), # Add this /malware/ route
url(r'^about/$', views.about, name='about'), # Add this /about/ route
url(r'^(?P<uuid>[\w\-]+)$', views.start, name='start'),
url(r'^(?P<uuid>[\w\-]+)$', views.paranoidfish, name='paranoidfish'),
url(r'^(?P<uuid>[\w\-]+)$', views.clone, name='clone'),
url(r'^(?P<uuid>[\w\-]+)$', views.stop, name='stop'),
url(r'^(?P<uuid>[\w\-]+)$', views.transfer, name='transfer'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我确定这里缺少一些基本的东西,我们将不胜感激。
【问题讨论】:
-
这些网址都是一样的。你怎么期望 Django 知道你调用了哪一个?
标签: python django python-3.x url