기본적으로, 나는 결과를 보여주기 위해 검색 폼과 테이블을 가지고있는 템플릿을 가지고있다. 헤더 열을 클릭하면 결과를 정렬 할 수 있습니다. 검색 양식에 get
방법을 사용하고 테이블의 결과를 으로 정렬하여 마지막으로을 얻습니다.HTML 페이지에서 URL 매개 변수를 django로 동적으로 바꾸는 방법은 무엇입니까?
views.py
if sort_by == "desc":
order_by = order_by
sort_by = "asc"
else:
sort_by = "desc"
url = request.META.get('HTTP_REFERER')
if (url != None):
search_params = {}
param = urlparse.urlparse(url)
if (not 'search_button' in request.GET):
get_request = re.split('&',param.query)
for single_request in get_request:
search_query = re.split('=',single_request)
search_params[search_query[0]] = search_query[1]
userlist = show_data(order_by,sort_by,search_params)
else:
userlist = show_data(order_by, sort_by, request.GET)
def show_data(order_by, sort_by, get_data):
//the function get the value from db
return row
template.py
<table id="user-table">
<tr>
<th><a href="?order_by=userId&sort={{sort}}">User id</a></th>
<th><a href="?order_by=userName&sort={{sort}}">Name</a></th>
<th><a href="order_by=userAddr&sort={{sort}}">Address</a></th>
</tr>
<tbody>
{% for item in table_data %}
<tr>
<td>{{ item.userId|default_if_none:"" }}</td>
<td>{{ item.userName|default_if_none:"" }}</td>
<td>{{ item.userAddr|default_if_none:"" }}</td>
</tr>
필터링 테이블 결과 데이터를 정렬 할 수있는 탐색 양식. 여기 샘플 URL입니다 다음 URL이 변경 이후 다시 정렬 할 수없는,
열 머리글이
http://localhost:8080/userlist/?order_by=userAddr&sort=asc
그러나 클릭하면 검색 버튼을
http://localhost:8080/userlist/?userId=&userName=Jane&userAddr=&search_button=search
클릭 할 경우 search_param
did not get get userName=Jane
HTML 페이지에서 url 매개 변수를 동적으로 바꿀 수 있습니까? 열 머리글을 클릭하면 낮습니까?
http://localhost:8080/userlist/?userId=&userName=Jane&userAddr=&search_button=search&order_by=userAddr&sort=desc
감사합니다. 모든 제안이 고려됩니다.
을! 대단히 감사합니다 @rudda – natadecoco