Python 以10为基数的int()的文本无效:';n';

Python 以10为基数的int()的文本无效:';n';,python,django,Python,Django,错误:值错误位于/跟随/n/ 事实上,我不明白为什么会出现这个错误,我尝试过使用int()和float(),但是,似乎任何方法都能奏效 视图.py def followed(request, follow_to): return render(request, "test.html",{'following':Following.objects.get(follow_to=follow_to), 'selfieList':Selfie.objects.filter(sel

错误:值错误位于/跟随/n/

事实上,我不明白为什么会出现这个错误,我尝试过使用int()和float(),但是,似乎任何方法都能奏效

视图.py

def followed(request, follow_to):
    return render(request, "test.html",{'following':Following.objects.get(follow_to=follow_to),
        'selfieList':Selfie.objects.filter(selfie_user=follow_to),})
url(r'^followed/(?P<follow_to>[-\w]+)/$', followed, name='followed'),
class Following(models.Model):
    follow_from = models.ForeignKey("auth.User",related_name='from_person')
    follow_to = models.ForeignKey("auth.User", related_name='to_person')
    date_follow = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return unicode(self.follow_from)

    def __str__(self):
模板

{% for f in following %}
        <a href="{% url 'followed' f.follow_to %}">{{f.follow_to}}</a> <br>
    {% endfor %}

您认为这段代码有问题

Following.objects.get(follow_to=follow_to)
这里传递给视图的
follow\u to
参数是字符串,从前面提到的url来看,它似乎是
'n'
。但是您正在搜索外键,它将搜索对象的
id
<代码>id为整数

因此,在查询中,它试图将
'n'
转换为
int
,以搜索适当的对象。但是转换失败了


您需要检查该参数和/或在url中使用
follow\u to
参数的
id
相关正则表达式。

如果使用
django.contrib.auth.models.User
模型,则其
pk
为整数。但是,url模式匹配任何单词字符(
\w
)。因此,如果只允许数字,那么修改
url.py
以只允许整数id匹配可能是一个解决方案

url(r'^followed/(?P<follow_to>\d+)/$', followed, name='followed'),
url(r'^followered/(?P\d+/$),followered,name='followered'),

错误来自哪一行?可能是重复的。您可以在提交请求的地方张贴表单代码吗?