2014-01-17 3 views
0

Я хочу передать свое значение входного текста через URL-адрес, когда я нажму кнопку отправки.передать переменную через url для просмотра

views.py

def profile(request,username): 
     current_user = User.objects.filter(username=username) 
    return render_to_response ('profiles/search.html', {'current_user':current_user, 
    context_instance=RequestContext(request),) 

search.html

<form action="{%url 'profiles:profile' username=user.username %}" id="search_by_username" method ="get"> 
<input type="text" name = "searchname" class="text" placeholder="Search by username" /> 
<input type="submit" value="button" /> 
</form> 

urls.py

url(r'^view/(?P<username>\w+)/$', views.profile, name="profile"), 

после нажатия на кнопку отправки, Иам получить URL, как это :

192.168.1.33:8000/profiles/view/abraham/?searchname=merlin 

Здесь abraham является пользователем loggin, но на самом деле мне нужно найти merlin.So, как я могу заменить abraham на merlin.

ответ

1

Вы не можете получить поле формы, чтобы автоматически поместить его значение в URL-адрес, по которому отправляется форма (за исключением того, что вы с помощью формы в Javascript, что было бы ужасно).

Но, как вы можете видеть, вы получаете эти данные в параметрах запроса: поскольку вы делаете GET, это находится в request.GET['searchname']. Итак, почему бы вам не отбросить параметр username в URL-адрес в первую очередь и просто использовать это?

+0

Большое спасибо за ответ на мой вопрос.iam new для python и django.so есть ли какая-либо ошибка, пожалуйста, простите меня. Теперь я редактировал свое действие формы следующим образом: '

' – Thameem

+0

Что? Я не сказал, что вы допустили какие-то ошибки. Я дал вам несколько советов для решения проблемы. –

Смежные вопросы