所以我想在django应用程序中创建一个服务器控制页面,其中包含通过uuid链接到启动,克隆和停止每个服务器的服务器列表。 (想想一个非常糟糕的openstack UI)。这是生成网址的代码。
<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应用程序上的克隆链接时,它会启动而不是克隆服务器,这意味着它正在视图中运行start函数。
以下是网址的定义方式:
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)
我确信这里有一些基本的东西,因为我们总是会感激任何帮助。
答案 0 :(得分:0)
原来不是唯一的网址是问题
这就是我解决问题的方法:
urlpatterns = [
url(r'^start/(?P<uuid>[\w\-]+)$', views.start, name='start'),
url(r'^paranoidfish/(?P<uuid>[\w\-]+)$', views.paranoidfish, name='paranoidfish'),
url(r'^stop/(?P<uuid>[\w\-]+)$', views.stop, name='stop'),
url(r'^transfer/(?P<uuid>[\w\-]+)$', views.transfer, name='transfer'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
模板保持不变,因为它动态生成URL模式。漂亮漂亮的imo。