即使URL更改,Django模板也不会加载

时间:2017-08-27 17:48:22

标签: python html django django-templates django-views

我花了很多时间试图解决这个问题,但不知道问题在哪里,因为没有错误弹出。它根本不起作用。

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

在我的Home.html中,我有一个链接:

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

当我点击它时,网址会更改为/ Apply但我仍然在同一页面上。 (似乎Home.html正在重新加载,因为我需要向下滚动页面以点击该链接,一旦我点击它,它就会让我回到页面顶部)。

的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)

主页/ urls.py

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


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

Application / urls.py

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

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

应用程序/ views.py

from django.shortcuts import render

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

我非常感谢任何建议,因为在我弄明白之前,我无法继续我的项目。

1 个答案:

答案 0 :(得分:5)

您错过了'$'网址中的字符串结尾字符Home,因此模式拦截所有其他网址,因为它们都与起始字符匹配{ {1}}。添加字符串结尾字符:

'^'

演示:

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