2016-10-11 61 views
1

我正在寻找从django模型的默认ID键把它变成十六进制,并显示它在一个页面上,当用户sumbits帖子时,我已经尝试了几个方法没有成功可以任何人都指向正确的方向?python django id到十六进制

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的十六进制函数是你在这里需要的全部,但问题是你不能直接从你的模板调用它。所以解决方案是在你的模型中添加一个方法。

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