идентификатор python django в шестнадцатеричный

#python #django

#python #django

Вопрос:

Я хочу взять ключ идентификатора по умолчанию из модели django, превратить его в шестнадцатеричный и отобразить его на странице, когда пользователь вводит сообщение, я пробовал несколько методов, но безуспешно. может кто-нибудь указать мне правильное направление?

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})
  

При необходимости может предоставить дополнительную информацию.

Ответ №1:

Шестнадцатеричная функция Python — это все, что вам нужно здесь, но проблема в том, что вы не можете вызвать ее непосредственно из своего шаблона. Итак, решение состоит в том, чтобы добавить метод в вашу модель.

 class MyModel(models.Model):

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

Затем в вашем шаблоне

  {{ my_object.to_hex }}
  

Комментарии:

1. {{ my_object.to_hex() }} удалите () из my_object.to_hex Это сработало как шарм! Спасибо!!

2. Рад, что помог.