2016-08-09 6 views
1

エラー:このエラーが表示される理由は実際に私が得ることはありません()ベース10と:「n」を

/N /続い/時とValueError、私はint型()とフロートを使用して試してみました()しかし、何が動作しているようです

views.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),}) 

テンプレート

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

urls.py

url(r'^followed/(?P<follow_to>[-\w]+)/$', followed, name='followed'), 

models.py

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): 
+0

どのラインがエラーになりますか? – Yaelle

+1

[Django無効なリテラル(int()の基数が10の可能性があります]の可能な複製)(http://stackoverflow.com/questions/23394545/django-invalid-literal-for-int-with-base-10) – an0o0nym

+0

あなたが要求を提出しているフォームのコード? –

答えて

1

あなたはあなたのビューでのコードのこの部分に問題があります。

Following.objects.get(follow_to=follow_to) 

ここではビューに渡さfollow_toパラメータが文字列であるとされたURLから、それは'n'あるようだ言及しました。しかし、あなたはオブジェクトのidを検索する外部キーを探しています。 idは整数です。

クエリでは、'n'intに変換して、適切なオブジェクトを検索しようとしています。しかし、変換は失敗します。

follow_toパラメータのURLには、idに関連する正規表現を使用する必要があります。

1

django.contrib.auth.models.Userモデルを使用する場合、そのpkは整数です。ただし、urlパターンは任意の単語文字(\w)と一致します。したがって、番号のみを許可する必要がある場合は、urls.pyを変更して整数の一致を許可することが解決策になる可能性があります。

url(r'^followed/(?P<follow_to>\d+)/$', followed, name='followed'), 
関連する問題