2016-10-21 3 views
-1

Abit new для Django, и это, наверное, глупый вопрос.Django, href и string

Javascript переменная:

<script> 
    bar = 'foo' 
</script> 

, если у меня есть HREF так:

<a style="color:black;" href="{% url 'manager:file' %}">Click</a> 

, который направляет к

url(r'^getfile/$', views.dd, name='file'), 

и

def dd(request, str): 
    print(str) <---- print 'foo' 

Как я могу с помощью href получить строку в переменной bar функции просмотра?

ответ

2

Вы можете добавить значение бар в конце URL в стороне клиента в виде строки запроса:

$('a').on('click', function(e) { // Dirty hack :-/ 
    e.preventDefault(); 
    window.location.replace($(this).attr('href') + '?bar=' + bar); 
}); 

и получить его в стороне сервера, используя этот код:

def dd(request): 
    str = request.GET.get('bar', '') 
    print(str) <---- print 'foo' 
+0

есть ли ограничить, как долго может быть URL? Я собирался отправить json (string), который может затянуться. – vandelay

+0

Да, есть. В этом случае лучше сделать запрос POST ajax. –

+0

. Весь URL-адрес должен быть не длиннее 2083 символов. –