2015-06-26 4 views
0

В моем проекте Django у меня есть запрос Ajax, который возвращает ответ JSON. Когда есть ошибка, я хотел бы представить текст ошибки, а также ссылку. Что-то вроде «возникла проблема, нажмите здесь». Однако я не знаю, как получить ссылку в JSON. Может быть, я думаю об этом неправильно - любая помощь приветствуется!Django: Добавить ссылку в окне

Ajax вызов:

$.ajax({method: 'POST', url:'/update_count/' + meals, data:{csrfmiddlewaretoken: "{{ csrf_token }}", 'auto-update': auto_update}}).done(function(data) { 
      if(data['type'] === 'error'){ 
       $('#error-message').html(data['message']) 
      } 

Посмотреть

return JsonResponse({'type': 'error', 'message': 'Only registered users can use this feature. Please click ???????? for more information.'}) 

ответ

1

Я думаю, что вы пытаетесь сделать, это лучше всего сделать в клиенте, а не построен в srever. Вы должны вернуть URL-адрес в ответ json, а затем проанализировать этот ответ в своем HTML-коде.

response = { 
    'type': 'error', 
    'url': <url> 
} 

Таким образом, вы можете обернуть URL в <a></a> тег, например, в вашем HTML, или сделать миллион других вещей, чтобы показать пользователю, что он должен зарегистрироваться.

Если вы все еще хотите иметь HTML-теги в своем ответе, вы можете использовать Django filters, которые позволяют добавлять HTML в ваших ответах