我的应用程序中的django url错误

时间:2014-06-16 12:34:08

标签: django angularjs django-views django-urls

我有一个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中,我这样称呼这个URL:

<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错误。我哪里出错?

1 个答案:

答案 0 :(得分:0)

根据评论......

你的Angular应用正在生成一个网址:“127.0.0.1:8000/acadprog/AS.SCIENCE”

这就是问题 - 网址模式需要一个数字(?P<program_code>\d+),因此这个网址与Django不匹配。

您可以将网址格式更改为:

url(r'^(?P<program_code>.+)/$', views.acadprogram2, name='programcode'),

...这将匹配任何字符中的1个或更多。