2016-10-11 20 views
1

私はdjangoモデルからデフォルトのIDキーを16進数に変換し、ユーザーが投稿を賞賛したときにそれを表示することを考えています。誰かが私を正しい方向に向ける?Python django IDから16進数へ

views.py

def post_new(request): 
if request.method == "POST": 
    form = PostForm(request.POST) 
    if form.is_valid(): 
     post = form.save(commit=False) 
     post.author = request.user 
     post.published_date = timezone.now() 
     post.save() 
     return redirect('post_detail', pk=post.pk) 
else: 
    form = PostForm() 
return render(request, 'books_log/post_edit.html', {'form': form}) 

必要に応じて、より多くの情報を供給することができます。

答えて

0

ここで必要なのはPythonの16進関数だけですが、テンプレートから直接呼び出すことができないという問題があります。したがって、解決策はモデルにメソッドを追加することです。

class MyModel(models.Model): 

    def to_hex(self): 
     return hex(self.pk) 

次に、あなたのテンプレート

{{ my_object.to_hex }} 
+0

に{{my_object.to_hex()}}()を削除my_object.to_hex からこれは魅力のように働きました!ありがとう!! –

+0

助けてくれてうれしいです。 – e4c5