2017-02-03 2 views
1

Ich versuche, eine Schaltfläche in HTML mit einem anderen HTML in meinem Projektordner für mein Django-Projekt zu verknüpfen. Lassen Sie uns sagen seineDjango URL Mapping für verschiedene Anwendungen

MyApp 

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

Ich habe aa-Taste auf dem Haupt dass manipulierten und Wahrheiten verwendet, um in Haupt es diese Schaltfläche hat

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

jetzt ich eine andere Taste, um hinzuzufügen> Index verknüpfen polls- würde in es. Gibt es eine Möglichkeit, das zu tun, ohne alles von Umfragen in den Ordner Abstimmungen zu kopieren?

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

Ich bin Ich bin mir nicht sicher, ob ich Ihre Frage verstanden habe, aber wenn Sie nur den HTML-Code aus dem Index verwenden möchten, können Sie den repetitiven Teil des HTML-Codes in einem Snippet zerlegen und dann wie '{% include' index '%} oder wenn Sie es versuchen Benutzen Sie den Link des Formulars im Index. Sie können den gleichen Ansatz wie für manipulierte Abstimmungen verwenden ". Verwenden Sie einfach die Formular-URL in Aktion –

+0

@AdityaPandhare, also habe ich 2 verschiedene Apps in meinem Projekt (Umfragen und Abstimmungen) jede hat ihre eigene Seite wie django/main, django/wahrheiten, django/manipuliert, und django/index. Ich möchte eine Schaltfläche erstellen, die in django/main eingefügt wird. Wenn Sie auf die Schaltfläche klicken, wird sie an django/index weitergeleitet. – VisualExstasy

+0

Ersetzen Sie einfach die Aktionsadresse durch "{% url 'Umfragen: index'}%". Was nörgelt dich? Ich nehme an, Sie wissen, wie Namespace URLs funktionieren. –

Antwort

2

zu https://docs.djangoproject.com/en/1.10/topics/http/urls/#url-namespaces vertretend Bitte haben Sie Verständnis, wie die Namensräume und benannt Urls Arbeit. Sie sollten eine urls.py-Datei in Ihrem "MyApp" -Ordner haben, in der andere Dateien wie "settings.py" und "wigs.py" vorhanden sind. Um auf eine URL durch Namespaces verweisen zu können, müssen Sie zunächst den mit url.py Ihrer Umfragen-App verknüpften Namespace registrieren. Beispiel aus der Dokumentation:

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

Außerdem müssen Sie auch Ihre URL in 'polls.urls' nennen wie

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

dann können Sie die URL als Aufruf "Umfragen: Index"

+0

ja das war alles immer noch immer gleiche Fehler – VisualExstasy

+0

können Sie den Code in urls.py und HTML-Code auch teilen? oder wenn Sie Debug-Toolbar verwenden, können Sie die Debug-Datei von dort teilen? –

+0

in Original-Frage bearbeitet – VisualExstasy

Verwandte Themen