[장고 4-05] 서버에서 장고 서비스 가능하도록 설정하기

마지막 부분에서
ALLOWED_HOSTS = ['고정 IP']
설정 변경하고 다시 접속해보니

Page not found (404)
No Category matches the given query.

가 나타납니다.

local에서는 제대로 작동하다가 서버에서 구동하면 문제가 생기는데 어떻게 해결해야 할까요?

shin 1354

2021년 8월 9일 10:45 오후

목록으로
3개의 답변이 있습니다. 1 / 1 Page

책의 내용과 동일하게 진행하신건가요?
실행하신 URL과 urls.py, views.py 등의 정보를 알려주세요.

박응용

2021년 8월 9일 11:22 오후

-> 실행한 url
http://localhost:8000/pybo/list/free/

# pybo/urls.py
    path('list/<str:category_name>/', base_views.index, name='index'),
# pybo/base_views.py
def index(request, category_name):
    page = request.GET.get('page', '1')
    kw = request.GET.get('kw', '')
    so = request.GET.get('so', 'recent')

    category = get_object_or_404(Category, name=category_name)
    _question_list = Question.objects.filter(category__name=category.name)

    # 정렬
    if so == 'recommend':
        _question_list = _question_list.order_by('-num_voter', '-create_date')
    elif so == 'popular':
        _question_list = _question_list.order_by('-num_answer', '-create_date')
    else:
        _question_list = _question_list.order_by('-create_date')

    # 검색
    if kw:
        _question_list = _question_list.filter(
            Q(subject__icontains=kw) |
            Q(content__icontains=kw) |
            Q(author__username__icontains=kw) # 질문 글쓴이검색
            # Q(answer__author__username__icontains=kw) # 답글 글쓴이검색
        ).distinct()

    # 페이징 처리
    paginator = Paginator(_question_list, 10)
    page_obj = paginator.get_page(page)

    context = {'category': category, 'question_list': page_obj, 'page': page, 'kw': kw, 'so': so}
    return render(request, 'pybo/question_list.html', context)

관리자 화면은 잘 나타나는 것 같습니다.

혹시나 도중에 잘못 입력한 값이 있지 않은가 하여 인스턴스 다시 생성하여 다시 수행하여도 동일한 증상이 나타납니다..!

shin

M 2021년 8월 10일 5:30 오후

@박응용님 277p의 migrate 이외에 별도로 작업을 해줘야 하나요? - shin님, 2021년 8월 10일 11:45 오전 추천 , 대댓글
@shin님 migrate는 Category 테이블 생성까지만 해 줍니다. 데이터는 직접 입력하셔야 하구요. - 박응용님, 2021년 8월 10일 11:47 오전 추천 , 대댓글
@박응용님 넵 한 번 해보겠습니당 - shin님, 2021년 8월 10일 11:48 오전 추천 , 대댓글
@박응용님 해결했습니다! 며칠 쉬고 돌아왔더니 제가 놓친 부분이 좀 많았네요.. 해결해주셔서 감사합니다..! - shin님, 2021년 8월 10일 12:01 오후 추천 , 대댓글
@shin님 안녕하세요. Category 테이블 생성이후, pybo_question 테이블에 category_id 속성값 1을 입력하는 것으로 알고 있는데 어떻게 하셨는 지 궁금합니다. - ykiki5778님, 2022년 6월 12일 1:42 오전 추천 , 대댓글

그리고 추가적으로 4-06을 따라하고 있는데

책에 디렉토리에는 config 밑에 settings.py가 있는데, settings.py는 move를 통해 base.py로 이동되어 없어야 하는게 아닌가요?

(mysite)>>> python manage.py runserver --settings=config.settings.local Watching for file changes with StatReloader
usage: manage.py runserver [-h] [--ipv6] [--nothreading] [--noreload] [--nostatic] [--insecure] [--version]
                           [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                           [--force-color]
                           [addrport]
manage.py runserver: error: unrecognized arguments: for file changes with StatReloader

shin

M 2021년 8월 10일 11:42 오전

없어야 합니다. 다만, 책의 캡처 화면은 아직 이동전인 상태의 화면입니다. - 박응용님, 2021년 8월 10일 11:41 오전 추천 , 대댓글
@박응용님 지금 코드 실행해보면 위와 같은 에러가 나타납니다 - shin님, 2021년 8월 10일 11:42 오전 추천 , 대댓글
@shin님 python manage.py runserver --settings=config.settings.local 여기 까지가 실행 명령어입니다. - 박응용님, 2021년 8월 10일 11:45 오전 추천 , 대댓글
@박응용님 아.. 코드가 연결되어 있는 것처럼 보여서 그대로 쳤네요..ㅎㅎ - shin님, 2021년 8월 10일 11:47 오전 추천 , 대댓글