Использование сессий Django - PullRequest
0 голосов
/ 07 марта 2011

У меня возникли проблемы с реализацией сессий Django.У меня есть страница со списком сотрудников с опцией фильтра.Фильтрация выполняется на основе полей и текста, введенного в текстовое поле.Отфильтрованные пользователи отображаются на странице filter.html;щелчок по имени пользователя приводит к переходу на страницу профиля этого пользователя.Теперь я хочу вернуться на предыдущую страницу (с помощью кнопки «Назад» на странице профиля сотрудника), где отображались отфильтрованные пользователи (filter.html).Я думаю, что это может быть сделано с помощью сессий.Но я не уверен, правильно ли я использую сеансы.Пожалуйста, помогите мне решить эту проблему, так как я новичок в Джанго.Разместим мой код здесь:

def filter(request):
    val=request.POST.get('designation')      
    val2=request.POST.get('choices')
    val3=request.POST.get('textField')

    if val2=='Designation':                
        newData = EmployeeDetails.objects.filter(designation=request.POST.get('textField'))  
        request.session['session_textField']="textField"  
        request.session['session_choices']="choices"    
        session_textField = request.session["session_textField"]
        session_choices = request.session["session_choices"]
        print session_textField,session_choices
    elif val2=='Name':
        newData = EmployeeDetails.objects.filter(userName=request.POST.get('textField'))
        request.session['session_textField']="textField"  
        request.session['session_choices']="choices"      
        session_textField = request.session["session_textField"]
        session_choices = request.session["session_choices"]
        print session_textField,session_choices        
    elif val2=='EmployeeID':
        newData = EmployeeDetails.objects.filter(employeeID=request.POST.get('textField'))        
        request.session['session_textField']="textField"  
        request.session['session_choices']="choices"      
        session_textField = request.session["session_textField"]
        session_choices = request.session["session_choices"]
        print session_textField,session_choices  
    elif val2=='Project':
        newData = EmployeeDetails.objects.filter(project=request.POST.get('textField'))     
        request.session['session_textField']="textField"  
        request.session['session_choices']="choices"      
        session_textField = request.session["session_textField"]
        session_choices = request.session["session_choices"]
        print session_textField,session_choices     
    elif val2=='DateOfJoin':
        newData = EmployeeDetails.objects.filter(dateOfJoin=request.POST.get('textField'))       
        request.session['session_textField']="textField"  
        request.session['session_choices']="choices"      
        session_textField = request.session["session_textField"]
        session_choices = request.session["session_choices"]
        print session_textField,session_choices   
    else:
        return render_to_response('filter.html') 

    return render_to_response('filter.html',{'newData':newData,'val2':val2}) 

Filter.html

<html>
<h3><br><br>
The Filtered Data 
</h3>
<body>
<br>
{%for data in newData%}
<a href ="http://10.1.0.90:8080/singleEmployee/{{data.id}} ">
{{ data.userName}}<br>
{%endfor%} 
</body><br><br><br><br>
<a href ="http://10.1.0.90:8080/employeeList/ "> Home Page  </a>
</html>

html-страница профиля сотрудника

<table>
<tr> <td>Name: {{ empSelect.userName }} </td> </tr><td>
<tr> <td>Designation: {{ empSelect.designation }} </td> </tr><td>
<tr> <td>Employee ID: {{ empSelect.employeeID }} </td> </tr><td>
<tr> <td>Contact Number: {{ empSelect.contactNumber }} </td> </tr><td>
<tr> <td>Project: {{ empSelect.project }} </td> </tr><td>
<tr> <td>Date Of Join: {{ empSelect.dateOfJoin }} </td> </tr><td>
</table></h4><br>
<input type="submit" value="Delete User" onClick="window.location.href='/userDelete/{{empSelect.id}}'"/>
<input type="submit" value="Update User" onClick="window.location.href='/userUpdate/{{empSelect.id}}'"/>
</div><br><br>
<a href ="http://10.1.0.90:8080/filter/{{emp.id}} "> Back  </a><br><br>
<a href ="http://10.1.0.90:8080/employeeList/ "> Home Page  </a>
</body></html>

Если в указанном мной коде много ошибокПожалуйста, помогите мне исправить это.

1 Ответ

1 голос
/ 07 марта 2011

Не совсем понятно, что вы пытаетесь сделать.Но обратите внимание:

request.session['session_textField']="textField"  
request.session['session_choices']="choices"   

Эти две строки, которые идентичны в каждом блоке, просто устанавливают две переменные сеанса в строки "textField" и "choices".Я не думаю, что это то, что вы хотите сделать, хотя, как я уже сказал выше, я не знаю точно, что вы делаете хотите сделать.Тем не менее, это, кажется, элементарная проблема программирования, не имеющая ничего общего с сессиями Django в частности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...