(장고) html form태그 중 get 메소드로 현재 주소에 파라미터만 추가하고 싶은데 어떻게 하나요??
질문내용:
http://127.0.0.1:8000/whatyourweb/posting/list/frontend/
여기 코드에서 최신순, 인기순, 추천순대로 선택하여 정렬할 수 있도록
http://127.0.0.1:8000/whatyourweb/posting/list/frontend/?kw=&page=1&so=recent
이런식으로 파라미터를 붙이고 싶습니다. 근데 자꾸 정렬을 하려고 하면
http://127.0.0.1:8000/?kw=&page=1&so=recent
이것만 나옵니다..
도와주시면 감사하겠습니다 ㅜㅜ
HTML 코드입니다.
관련 장고 url.py 코드입니다.
path('posting/list/', base_views.index, name='index'),
path('posting/list/<str:category_name>/', base_views.index, name='index'),
관련 장고 views.py 코드입니다.
def index(request, category_name='backend'):
category = Category.objects.get(name=category_name)
"""
게시글 목록 출력
"""
page = request.GET.get('page','1')
kw = request.GET.get('kw', '') # 검색어
so = request.GET.get('so', 'recommend') # 정렬기준
cat = request.GET.get('category') # 정렬기준
category_list = Category.objects.all()
category = get_object_or_404(Category, name=category_name)
posting_list = Posting.objects.filter(category=category)
# 정렬
if so == 'recommend':
posting_list = Posting.objects.filter(category=category).annotate(num_voter=Count('voter')).order_by('-num_voter', '-create_date')
elif so == 'popular':
posting_list = Posting.objects.filter(category=category).annotate(num_comment=Count('comment')).order_by('-num_comment', '-create_date')
else: # recent
posting_list = Posting.objects.filter(category=category).order_by('-create_date')
if kw:
posting_list = posting_list.filter(
Q(subject__icontains=kw) | # 제목검색
Q(content__icontains=kw) | # 내용검색
Q(author__username__icontains=kw) | # 질문 글쓴이검색
Q(answer__author__username__icontains=kw) # 답글 글쓴이검색
).distinct()
paginator = Paginator(posting_list, 10) # 페이지당 10개씩 보여 주기
page_obj = paginator.get_page(page)
context = {'posting_list' : page_obj, 'page':page, 'kw':kw,'category_list':category_list,'category':category, 'so':so, 'user':request.user}
return render(request, 'wyw/posting_list.html', context)
lgj 님 284
2022년 8월 13일 5:43 오후
posting_list.html 을 보여주세요.
-
박응용님,
2022년 8월 13일 6:14 오후
추천
,
대댓글
ㄴ 다른 게시물에 올렸습니다!
-
lgj님,
2022년 8월 13일 9:26 오후
추천
,
대댓글