Два представления Django, которые выдают «Внутренняя ошибка 500» только во время работы - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть веб-сайт, который отлично работает в моей среде разработки, но выдает внутреннюю ошибку (500) в производственной среде Debian 9, Nginx и Gunicorn. Вот проблемные представления:

@login_required
def post(request):
    if request.method == "POST":
        form = ListingForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.lat, post.lng = get_lat_lng(google_api_key,
                                             post.street_address + ", " + post.city + ", " + post.state)
            post.save()
            return redirect('post_view', pk=post.pk)
    else:
        form = ListingForm()
    return render(request, 'post.html', {'form': form})


@login_required
def post_edit(request, pk):
    post = get_object_or_404(Listing, pk=pk)
    if request.method == "POST":
        form = ListingForm(request.POST, request.FILES, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.lat, post.lng = get_lat_lng(google_api_key,
                                             post.street_address + ", " + post.city + ", " + post.state)
            post.save()
            return redirect('post_view', pk=post.pk)
    else:
        form = ListingForm(instance=post)
    return render(request, 'post_edit.html', {'form': form, 'post': post})

А вот пример представления, которое прекрасно работает на производстве с аналогичной функциональностью:

@login_required
def new_attorney(request):
    if request.method == "POST":
        form = AttorneyForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            return redirect('attorney_edit', pk=post.pk)
    else:
        form = AttorneyForm()
    return render(request, 'new_attorney.html', {'form': form})

Я немного волнуюсь, потому чтоэто чувствительный ко времени проект, который нам нужен в ближайшее время, и я понятия не имею, что является причиной этой ошибки. Дайте мне знать, если вам нужен дополнительный код для диагностики проблемы.

Мои ошибки Nginx и журналы доступа пусты. Я не знаю, как проверить журналы Gunicorn, но я установил свой журнал с помощью "gunicorn --error-logfile /opt/gunicorn-error.log real_estate_platform: wsgi", и это просто дает мне несвязанные ошибки подключения. Я хотел бы отметить, что все остальные функции на моем веб-сайте работают за исключением этих двух представлений.

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