Ошибка сервера (500) и странные символы внутри формы
Я установил Raspberry Pi с сервером Ubuntu в качестве ОС. Я следовал этому руководству: Руководство от digitalocean
Все вроде бы работало хорошо, пока я не открыл страницу с формой, которая выглядит как-то странно (ненужные скобки до и после "Имя:":
Код выглядит следующим образом:
# models.py
class Category(models.Model):
name = models.CharField(max_length=50)
def __str__(self) -> str:
return self.name
# forms.py
class CategoryForm(forms.ModelForm):
class Meta:
fields="__all__"
model = Category
widgets = {
'name': forms.TextInput(attrs={'class': 'form-control'})
}
# views.py
def categories(request: HttpRequest):
if request.method == 'POST':
filledForm = CategoryForm(data=request.POST)
if filledForm.is_valid():
newCategory = filledForm
newCategory.save()
categoryForm = CategoryForm()
categories = Category.objects.order_by('name')
args = {
'categoryForm': categoryForm,
'categories': categories,
}
return render(request, 'categories.html', args)
И HTML-код:
<div class="container">
<h2>Categories</h2>
<br>
<form action="{% url 'categories' %}" method="post">
{% csrf_token %}
{{ categoryForm }}
<input type="submit" class="form-control btn-secondary" name="submit-new-category" value="Add">
</form>
<br>
<table class="table table-hover">
<tbody>
{% for category in categories %}
<tr>
<td>
<a href="{% url 'category_edit' category.id %}">
<div>
{{ category.name }}
</div>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
Когда я пытаюсь разместить заполненную форму категории, Apache отвечает с ошибкой сервера (500).
Я проверил файл журнала (/var/log/apache2/error.log), но там нет ничего, кроме предупреждений и уведомлений:
[Sun Aug 11 13:40:06.992377 2024] [mpm_event:notice] [pid 2809:tid 281473660837920] AH00489: Apache/2.4.58 (Ubuntu) configured -- resuming normal operations
[Sun Aug 11 13:40:06.993125 2024] [core:notice] [pid 2809:tid 281473660837920] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 11 13:40:54.766803 2024] [mpm_event:notice] [pid 2809:tid 281473660837920] AH00492: caught SIGWINCH, shutting down gracefully
[Sun Aug 11 13:41:05.325303 2024] [mpm_event:notice] [pid 3058:tid 281473704566816] AH00489: Apache/2.4.58 (Ubuntu) mod_wsgi/5.0.0 Python/3.12 configured -- resuming normal operations
[Sun Aug 11 13:41:05.326039 2024] [core:notice] [pid 3058:tid 281473704566816] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 11 14:28:47.835081 2024] [mpm_event:notice] [pid 3058:tid 281473704566816] AH00492: caught SIGWINCH, shutting down gracefully
[Sun Aug 11 14:28:48.320266 2024] [mpm_event:notice] [pid 3971:tid 281473052844064] AH00489: Apache/2.4.58 (Ubuntu) mod_wsgi/5.0.0 Python/3.12 configured -- resuming normal operations
[Sun Aug 11 14:28:48.321026 2024] [core:notice] [pid 3971:tid 281473052844064] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 11 14:30:37.648045 2024] [mpm_event:notice] [pid 3971:tid 281473052844064] AH00492: caught SIGWINCH, shutting down gracefully
[Sun Aug 11 14:33:43.893787 2024] [mpm_event:notice] [pid 912:tid 281472884133920] AH00489: Apache/2.4.58 (Ubuntu) mod_wsgi/5.0.0 Python/3.12 configured -- resuming normal operations
[Sun Aug 11 14:33:43.906803 2024] [core:notice] [pid 912:tid 281472884133920] AH00094: Command line: '/usr/sbin/apache2'
[Sun Aug 11 14:41:50.770637 2024] [mpm_event:notice] [pid 912:tid 281472884133920] AH00492: caught SIGWINCH, shutting down gracefully
[Sun Aug 11 14:41:54.169218 2024] [core:warn] [pid 912:tid 281472884133920] AH00045: child process 915 still did not exit, sending a SIGTERM
[Sun Aug 11 14:45:14.149261 2024] [mpm_event:notice] [pid 923:tid 281472851755040] AH00489: Apache/2.4.58 (Ubuntu) mod_wsgi/5.0.0 Python/3.12 configured -- resuming normal operations
[Sun Aug 11 14:45:14.160107 2024] [core:notice] [pid 923:tid 281472851755040] AH00094: Command line: '/usr/sbin/apache2'
Запуск на моем компьютере для разработки с python manage.py runserver
работает нормально.
Теперь у меня два вопроса: Почему эти скобки появляются в моей форме Категории и почему я получаю ошибку сервера? Я разместил оба вопроса в одной теме, потому что не знаю, связаны они или нет.
Скобки, появляющиеся в форме категории
{% csrf_token %} {{ categoryForm.name.label_tag }} {{ categoryForm.name }}
Ошибка сервера (500) при отправке формы
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': '/path/to/django/debug.log', }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': 'True', }, }, }
Проверка потенциальных проблем в коде
if filledForm.is_valid():
newCategory = filledForm.save(commit=False)
newCategory.save()