2015-07-19 82 views
2
from django.conf.urls import patterns, include, url 
    urlpatterns = [ 
url(r'^all/$','article.views.articles'), 
url(r'^get/(?P<article_id>)\d+/','article.views.article'), 
    ] 

这是我的urls.py和,我与基地10获得了无效文字的ValueError异常的INT():“”

from django.shortcuts import render 
from django.shortcuts import render_to_response 
from django.http import HttpResponse 
from django.template.loader import get_template 
from django.template import Context 
from django.views.generic.base import TemplateView 
from article.models import Article 
def articles(request): 
    return render_to_response('articles.html',{'articles':Article.objects.all()}) 

def article(request, article_id=1): 
    return render_to_response('article.html', {'article':Article.objects.get(id=article_id)}) 

以上就是我views.py但是当我尝试运行mysite/get/1 /它给我错误的无效文字为int()与基10:''。我试图通过引用其他问题来解决它,但它仍然不起作用。

+0

您可以包括回溯? –

回答

0

检查命名捕获的语法。这里是他们是如何在docs

(?P<name>pattern) 

所以你应该让你的模式

(?P<article_id>\d+) 
+0

谢谢,问题出在我的正则表达式中。 – user2527159

+0

有没有必要转换为int,它可以很好地处理字符串。正如OP所说,问题在于正则表达式根本没有捕获到ID。 –

+0

啊,没意识到会没事的。 –

相关问题