我花了很多时间试图解决这个问题,但不知道问题在哪里,因为没有错误弹出。它根本不起作用。
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')
我非常感谢任何建议,因为在我弄明白之前,我无法继续我的项目。
答案 0 :(得分:5)
您错过了'$'
网址中的字符串结尾字符Home
,因此模式拦截所有其他网址,因为它们都与起始字符匹配{ {1}}。添加字符串结尾字符:
'^'
演示:
urlpatterns = [
url(r'^$', views.Home, name = 'Home'),
]