我一直在尝试在我的Django应用程序中实现超链接,其中显示了一个项目列表,点击每个项目将带您到一个页面详细说明该项目的更多信息。
我一直在和{%URL%}标签搏斗,尽管在这里搜索了互联网和有关此事的书籍,我还没有让它发挥作用。
在views.py中:
def Link(request):
return render_to_response('Search_Page.html')
在Urls.py中:
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'ParkManager.views.home', name='home'),
# url(r'^ParkManager/', include('ParkManager.foo.urls')),
url(r'^test/', Search_Page),
url(r'^search/', Search),
url(r'^details/', Details_Main),
url(r'^Link/(d+}/$', Link),
url(r'^$', 'Parks.views.Link', name="home"),
在我的模板中:
<a href="{% url home %}">test</a>
感谢您的时间:)
EDIT 错误:
页面加载但链接只带你到127 .0 .0 .1 / 8000 当我添加:test
我明白了:
NoReverseMatch at /search/
Reverse for 'name' with arguments '(u'North West Thrill Centre',)' and keyword arguments '{}' not found.
Request Method:
GET
Request URL:
http://127.0.0.1:8000/search/?search=a&type=parks&submit=Search
Django Version:
1.4.2
Exception Type:
NoReverseMatch
Exception Value:
Reverse for 'name' with arguments '(u'North West Thrill Centre',)' and keyword arguments '{}' not found.
Exception Location:
C:\Python27\lib\site-packages\django\template\defaulttags.py in render, line 424
Python Executable:
C:\Python27\python.exe
Python Version:
2.7.3
Python Path:
['C:\\Users\\User\\Documents\\Django\\ParkManager',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages']
Server time:
Mon, 4 Feb 2013 16:05:30 +0000
Error during template rendering
In template C:\Users\User\Documents\Django\ParkManager\Templates\Details_Main.html, error at line 23
Reverse for 'name' with arguments '(u'North West Thrill Centre',)' and keyword arguments '{}' not found.
答案 0 :(得分:4)
一条线索:
例外地点:
_compile中的C:\ Python27 \ lib \ re.py,第242行
您的问题与网址标记无关。它是urls.py中的一个格式错误的正则表达式。
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'ParkManager.views.home', name='home'),
# url(r'^ParkManager/', include('ParkManager.foo.urls')),
url(r'^test/', Search_Page),
url(r'^search/', Search),
url(r'^details/', Details_Main),
# LINE BELOW has an open parentheses and not a closed parentheses.
url(r'^Link/(d+}/$', Link),
#url(r'^Link/(d+)/$', Link), #line fixed
url(r'^$', 'Parks.views.Link', name="home"),
答案 1 :(得分:1)
不平衡的括号是这一行的问题:
url(r'^Link/(d+}/$', Link),
您忘记关闭括号。
如果您在Django中使用{%url%}标记&lt; 1.5,用这种方式:
{% load url from future %}
{% url 'namespace:viewname' arg1, arg2 %}
{% url 'namespace:viewname' kwarg1=val, kwarg2=val2 %}
如果您使用的是Django 1.5,则无需加载特殊的url标记。如果您没有使用名称空间(如果您使用列表,详细信息等常规视图名称,并希望区分应用程序,例如:author:list或book:list),则只使用视图名称。查看文档,有一个关于url标记的好部分 - https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#url