2017-08-27 6 views
1

Ich habe so viel Zeit damit verbracht, dieses Problem zu lösen, weiß aber nicht, wo das Problem liegt, da keine Fehler auftauchen. Es funktioniert einfach nicht.Django-Vorlagen werden nicht geladen, obwohl sich die URL ändert

mysite/ 
manage.py 
mysite/ 
    __init__.py 
    settings.py 
    urls.py 
    wsgi.py 
Home/ 
    templates/ 
     Home/ 
      Home.html 
Application/ 
    templates/ 
     Application/ 
      Apply.html 

In meinem Home.html Ich habe einen Link:

<a href="{% url 'Application:Apply' %}">Apply Now!</a> 

Wenn ich darauf klicken, wird die URL Änderungen/Apply aber ich bleibe auf der gleichen Seite. (Es scheint auch so zu sein, dass die Home.html neu geladen wird, da ich die Seite herunterscrollen muss, um auf diesen Link zu klicken und wenn ich einmal darauf klicke, bringt es mich zurück zum Anfang der Seite).

mysite/urls.py

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

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

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL,   
document_root=settings.STATIC_ROOT) 

Home/urls.py

from django.conf.urls import url, include 
from . import views 


urlpatterns = [ 
    url(r'^', views.Home, name = 'Home'), 
] 

Anwendung/urls.py

from django.conf.urls import url, include 
from . import views 

app_name = "Application" 
    urlpatterns = [ 
    url(r'Apply', views.Apply, name = 'Apply'), 
] 

Anwendung/views.py

from django.shortcuts import render 

def Apply(request): 
    return render(request, 'Application/Apply.html') 

Ich würde jeden Rat sehr schätzen, da ich mit meinem Projekt nicht fortfahren kann, bis ich das herausgefunden habe.

+0

Zeigen Sie die urls.py Startseite. –

+0

Ich habe sie gerade hinzugefügt. – Sukhrab

Antwort

5

Sie verpassen die End-of-Zeichenfolge '$' in Ihrer Home URL, so dass das Muster fängt jeder anderen URL, da sie alle den Charakter Start übereinstimmen '^'. Fügen Sie einen End-of-string Charakter:

urlpatterns = [ 
    url(r'^$', views.Home, name = 'Home'), 
] 

Demo:

>>> import re 
>>> re.match('^', 'Apply') 
<_sre.SRE_Match object at 0x1034c9b90> 
>>> re.match('^$', 'Apply') 
>>> 
+0

Es hat funktioniert. Ich danke dir sehr! – Sukhrab

Verwandte Themen