#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. Рад, что помог.