【发布时间】:2014-06-16 12:34:07
【问题描述】:
我有一个 django 应用程序,其中有以下网址:
urlpatterns = patterns('',
url(r'^$', views.acadprogram, name='acadprogram'),
url(r'^(?P<program_code>\d+)/$', views.acadprogram2, name='programcode'),
)
这就是我的观点:
def acadprogram2(request, program_code):
name = Program_requirement_category.objects.get(name=program_code)
descendants = name.get_descendants(include_self=True)
return render_to_response("courses.html", {'nodes':descendants.all()}, context_instance = RequestContext(request))
在我的 html 中,我这样称呼这个网址:
<a ng-repeat="prog in programs | orderBy:'academic_program.program_title' | orderBy:'primary_program':true" href="/acadprog/{{prog.academic_program.acad_program_code}}/" ng-click="display.addprogram = false" class="list-group-item">
{{prog.academic_program.program_title}}
但是当我点击 href 时,django 会抛出一个 url not found 错误。我哪里做错了?
【问题讨论】:
-
Angular 从
"/acadprog/{{prog.academic_program.acad_program_code}}/"为您生成的实际href 是什么? -
这是网址“127.0.0.1:8000/acadprog/AS.SCIENCE”。给了同样的一个只是为了检查它是否可以工作
-
...那是你的问题,url 模式需要一个数字
(?P<program_code>\d+)所以这个 url 与 Django 不匹配 -
哦,好点..我的字符串正则表达式是什么?
-
(?P<program_code>.+)将匹配任何字符中的一个或多个...查看这个很棒的网站regular-expressions.info
标签: django angularjs django-views django-urls