2017-02-03 50 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