2016-07-30 21 views
1

Mein Code zu arbeiten, ist wie folgt:kann ich nicht meine Django URLs

root urls.py

from django.conf.urls import include, url 
from django.contrib import admin 


urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'', include('app.urls')), 
] 

url Meine Anwendungen ist wie so

urlpatterns = [ 
    url(r'^$',views.login, name='login'), 
    url(r'^homepage/$', views.homepage, name='homepage'), 
] 

Der erste Bildschirm Der Benutzer sieht den Anmeldebildschirm (views.login). Im Moment möchte ich nur den Login-Button als URL festlegen, der sie zur Homepage bringt (nur zum Üben), aber es scheint nicht zu funktionieren.

Der Login html ist wie so

<button type="button"><a href="{% url 'homepage' %}">Log-In</a></button> 

Diese oben auf meine Urls Seite gehen sollte ... finden Sie den Namen 'Homepage' und mich views.homepage, die als so ist:

def homepage(request): 
    return render(request, 'application/homepage.html', {}) 

aber meine Homepage wird nicht gerendert und ich habe absolut keine Ahnung, warum es mich verrückt macht.

Jede Hilfe wäre willkommen.

+0

Wird ein Fehler angezeigt? –

+0

Nichts. Es ist, als würde ich nur einen Knopf einstecken, der kein Link ist. Wenn ich die URL manuell eintippe, geht es zu den Ansichten und rendert richtig, so dass ich denke, dass das Problem in meiner login.html Seite ist und ich die URL nicht richtig schreibe. – DaithiOK

+0

Das Problem wurde im Folgenden gelöst. Vielen Dank für Ihre Hilfe, aber mein Problem bestand darin, einen Button zu einem Link zu machen. Es war ein reines HTML-Problem. – DaithiOK

Antwort

1

Das hat nichts mit Django zu tun, sondern ein reines HTML-Problem. Sie können keinen Link in eine Schaltfläche einfügen. Eine Schaltfläche muss Teil eines Formulars sein und wird an den Wert action dieses Formulars gesendet. Tun Sie das, und nehmen Sie das a Tag heraus; oder entferne den Knopf und benutze einfach den a.