Я пытаюсь создать страницу, где эти параметры могут быть заполнены пользователем. Этот код позволяет хранить данные в mysql, но не показывает сохраненные данные. И показывает "Неправильно сконфигурировано в / public / about / No URL для перенаправления. Либо укажите URL-адрес, либо определите метод get_absolute_url в модели."
MODELS
class MedicalInfo(models.Model):
BLOOD = (
('A+', 'A+ Type'),
('B+', 'B+ Type'),
('AB+', 'AB+ Type'),
('O+', 'O+ Type'),
('A-', 'A- Type'),
('B-', 'B- Type'),
('AB-', 'AB- Type'),
('O-', 'O- Type'),
)
@staticmethod
def toBlood(key):
for item in MedicalInfo.BLOOD:
if item[0] == key:
return item[1]
return "None"
patient = models.ForeignKey(User, on_delete=models.CASCADE, related_name="patiento")
bloodType = models.CharField(max_length=10, choices=BLOOD)
allergy = models.CharField(max_length=100)
alzheimer = models.BooleanField()
asthma = models.BooleanField()
diabetes = models.BooleanField()
stroke = models.BooleanField()
comments = models.CharField(max_length=700)
def __str__(self):
return f'{self.user.username} Medinfo'
def save(self):
super().save()
VIEWS.PY
class MedinfoCreateView(LoginRequiredMixin, CreateView):
template_name = 'all_users/public/medinfo.html'
model = MedicalInfo
fields = ['bloodType', 'allergy', 'alzheimer', 'asthma', 'diabetes', 'stroke', 'comments']
def form_valid(self, form):
form.instance.patient = self.request.user
return super().form_valid(form)
HTML
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">
Medinfo
</legend>
{{ form|crispy }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">
Submit
</button>
</div>
</form>
</div>
{% endblock content %}