Zufällige 500 Serverfehler auf der Django 6-Website nach der Live-SchaltungPython

Python-Programme
Anonymous
 Zufällige 500 Serverfehler auf der Django 6-Website nach der Live-Schaltung

Post by Anonymous »

Ich habe zum ersten Mal eine kleine, schlanke Website mit Django 6.0 und Python 3.12 erstellt. Es gibt eine Seite, die Daten aus der Datenbank abruft, und auf dieser Seite werden zufällig 500 interne Serverfehler angezeigt. Durch das Aktualisieren der Seite wird die Seite normalerweise wie vorgesehen angezeigt. Ich kann diesen Fehler in meiner Entwicklungsumgebung nicht reproduzieren. es passiert nur in meiner Produktionsumgebung.
Der Fehler, den ich in den Protokollen erhalte, sieht so aus:

Code: Select all

ERROR 2026-01-13 11:34:37,581 log 791 124526765520576 Internal Server Error:  /menu/
Traceback (most recent call last):
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 198, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/menu/views.py", line 25, in menu
return render(request, "menu/menu.html", context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/shortcuts.py", line 25, in render
content = loader.render_to_string(template_name, context, request, using=using)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/backends/django.py", line 107, in render
return self.template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 174, in render
return self._render(context)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 166, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1091, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1052, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 160, in render
return compiled_parent._render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 166, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1091, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1052, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 66, in render
result = block.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1091, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1052, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/defaulttags.py", line 249, in render
nodelist.append(node.render_annotated(context))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1052, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/defaulttags.py", line 333,  in render
return nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1091, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1052, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1156, in render
return render_value_in_context(output, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/template/base.py", line 1130, in render_value_in_context
value = localize(value, use_l10n=context.use_l10n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/utils/formats.py", line 208, in localize
return number_format(value, use_l10n=use_l10n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/utils/formats.py", line 182, in number_format
return numberformat.format(
^^^^^^^^^^^^^^^^^^^^
File "/var/www/juliasempanadassite/venv/lib/python3.12/site-packages/django/utils/numberformat.py", line 28, in format
if number is None or number == "":
^^^^^^^^^^^^
File "", line 119, in __instancecheck__
TypeError: _abc_impl is set to a wrong type
Mein view.py sieht so aus:

Code: Select all

from django.shortcuts import render

from .models import Category, MenuItem, Highlight, Offer

def index(request):
highlights = Highlight.objects.order_by("sort_order")
offers = Offer.objects.order_by("sort_order")
context = {"highlights": highlights, "offers": offers}
return render(request, "menu/index.html", context)

def about(request):
context = {}
return render(request, "menu/about.html", context)

def menu(request):
categories = Category.objects.order_by("sort_order")
menu_items = MenuItem.objects.order_by("category_id", "sort_order")
context = {"categories": categories, "menu_items": menu_items}

return render(request, "menu/menu.html", context)
Die zugehörige Vorlage ist:

Code: Select all

{% extends "menu/base.html"%}
{% load static %}

{% block content %}



[img]{% static [/img]





[url=/]

Julia's Empanadas

[/url]


 



[list]
[*]
[url=/]Home [/url]

[*]
[url=/menu/]Menu (current)  [/url]

[*]
[url=/about/]About[/url]

[/list]













Our Menu


[list]
[*]All
{% for category in categories %}
[*]{{ category.name }}
{% endfor %}
[/list]


{% for item in menu_items %}




{% with '/menu/images/'|add:item.image as image_static %}
[img]{% static image_static %}[/img]
{% endwith %}


{{ item.name }}


{{ item.description }}



{% if item.category.price_for_all == True %}
${{ item.category.price }}
{% else %}
${{ item.price }}
{% endif %}






{% endfor %}







Die Modelle sehen so aus:

Code: Select all

from django.db import models

class Category(models.Model):
name = models.CharField(max_length=200)
short_name = models.CharField(max_length=20, null=True)
price = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
price_for_all = models.BooleanField(default=False)
sort_order = models.IntegerField(default=1)

def __str__(self):
return self.name

class MenuItem(models.Model):
category = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True)
name = models.CharField(max_length=200)
description = models.TextField(blank=True, null=True)
image = models.CharField(max_length=255, blank=True, null=True)
price = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
sort_order = models.IntegerField(default=1)

def __str__(self):
return self.name

class Highlight(models.Model):
title = models.CharField(max_length=50)
blurb = models.TextField()
link = models.CharField(max_length=50, blank=True, null=True)
link_text = models.CharField(max_length=30, blank=True, null=True)
sort_order = models.IntegerField(default=1)

def __str__(self):
return self.title

class Offer(models.Model):
title = models.CharField(max_length=50)
percent_off = models.IntegerField()
image = models.CharField(max_length=255, blank=True, null=True)
sort_order = models.IntegerField(default=1)

def __str__(self):
return self.title
Die Ansicht mit den zufälligen 500 Fehlern ist das Menü.
Wie kann dieses Problem mit dieser bestimmten Seite der Website gelöst werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post