2017-02-03 53 views
1

我试图将HTML中的按钮链接到我的django项目的项目文件夹中的另一个html。比方说,它的Django不同应用程序的URL映射

MyApp 

-Polls 
    -templates 
     -index 
-Votes 
    -templates 
     -main 
     -truths 
     -rigged 

我有一个使用作弊的和真理所以在主要它有这个按钮

<form action="{% url 'Votes:rigged' %}"> 
    <input type="submit" value="rigged votes" /> 
</form> 

现在我想添加一个按钮将链接polls->索引上主AA按钮它。有没有办法做到这一点,而不是从投票到文件夹投票复制一切?

UPDATE * main.html中

<form action="{% url 'Polls:Index' %}"> 
    <input type="submit" value="Index" /> 
</form> 

Polls.url

urlpatterns=[  
    url(r'^Index/', Index.as_view(), name="Index"), 
] 

Index.views

class IndexView(TemplateView): 
    # template location 
    template_name = "Polls/Index.html" 

    # post logic must be defined 
    def post(self, request, *args, **kwargs): 
     return redirect(reverse_lazy("Polls:Index")) 
+0

我不知道我理解你的问题,但如果你只是想使用索引中的html,你可以在一个片段中打破HTML的重复部分,然后像{%include'index'%} 那样包含它,或者如果你试图使用索引中表单的链接,您可以采用与“操纵投票”相同的方法”。只需使用表单网址 –

+0

@AdityaPandhare,因此我在我的项目(民意调查和投票)中有2个不同的应用程序,每个都有自己的页面,如django/main,django/truths,django/rigged和django/index。我想创建一个放在django/main中的按钮,当点击按钮时,它会重定向到django/index。 – VisualExstasy

+0

只需将操作地址替换为“{%url'民意调查:索引'}%”即可。什么唠叨你?我假设你知道命名空间网址如何工作。 –

回答

2

请参考https://docs.djangoproject.com/en/1.10/topics/http/urls/#url-namespaces 请明白是怎么命名空间和命名的网址工作。你应该在你的'MyApp'文件夹中有一个urls.py文件,其中有'settings.py'和'wigs.py'等其他文件。 对于通过名称空间引用url,您需要首先注册与您的投票应用程序的url.py相关联的名称空间。从文档实例:

from django.conf.urls import include, url 
urlpatterns = [ 
url(r'^polls/', include('polls.urls', namespace='Polls')), 
] 

而且还必须名称“polls.urls”您的网址像

url(r'^index/$', Whatever_view,name='index'), 

,那么你可以调用的URL为“民意调查:指数”

+0

是的,这一切都完成仍然得到相同的错误 – VisualExstasy

+0

你能分享在urls.py和HTML代码的代码吗?或者如果您使用调试工具栏,您可以从那里共享调试文件?在原始问题 –

+0

仍然没有看到名为“投票”的命名空间在此处定义。此外,你也应该为表单定义一个方法。 – VisualExstasy