Не удается получить поля редактирования в шаблоне HTML Django
Есть шаблон по созданию таблиц, выглядит следующим образом:
по задумке, при переходе по ссылке в urls.py path('group/int:pk/update/', views.GroupUpdateView.as_view(), name='group/update'),
должно открываться окно редактирования, он и открывается но без полей текста:
Еще проблема в том что что ссылка работает только одна http://127.0.0.1:8000/group/1/update/
Если введу http://127.0.0.1:8000/group/2/update/ или 3 выдает ошибку что страница не найдена
create HTML code:
{% extends 'main/doki.html' %}
{% load static %}
{% block title %} Страница добавления таблиц {% endblock %}
{% block content %}
<div class="createtable2">
<style>
form {
margin-left: 32%;
width: 500px;
text-align: center;
}
</style>
<form method="post">
{% csrf_token %}
{{ form.titleid }} <br>
{{ form.titlegroup1 }} <br>
{{ form.titlecurator }} <br>
<button class "btn btn-success" type="submit">Добавить таблицу</button>
</form>
</div>
{% endblock %}
HTML code
{% extends 'main/doki.html' %}
{% load static %}
{% block content %}
<div class="groupcont">
<div class="disian-camp">
<a href="{% url 'create2' %}"><li><button class="btn btn-info"><i class "fas fa-plus-circle"><i> Добавить новую таблицу</button></li></a><br>
<table class="disian-campe">
<thead>
<tr>
<th>id</th>
<th>Номер группы</th>
<th>ФИО Куратора</th>
<th>Редактирование</th>
<th>Удаление</th>
</tr>
</thead>
<tbody>
{% for el in groups %}
<tr>
<td>{{ el.titleid }}</td>
<td>{{ el.titlegroup1 }}</td>
<td>{{ el.titlecurator }}</td>
<td><a href="{% url 'create2' %}">Редактировать</a></td>
<td><a href="">Удалить</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
urls.py code
from django.urls import path
from .import views
urlpatterns = [
path('', views.registration, name='home'),
path('group', views.about, name='group'),
path('students', views.students, name='students'),
path('create', views.create, name='create'),
path('create2', views.create2, name='create2'),
path('group/<int:pk>/update/', views.GroupUpdateView.as_view(), name='group/update'),
# path('login/', views.LoginUser.as_view(), name='login'),
]
views.py code
from django.shortcuts import render, redirect
from django.http import HttpResponseNotFound
from .models import group
from .models import studentes
from .forms import studentForm
from .forms import groupForm
from django.views.generic import DetailView, UpdateView
# from django.contrib.auth.forms import AuthenticationForm
# from django.contrib.auth.mixins import DataMixin
# from django.contrib.auth.views import loginView
def registration(request):
return render(request, 'main/registration.html')
def about(request):
groups = group.objects.all()
return render(request, 'main/group.html', {'groups':groups})
def students(request):
studentss = studentes.objects.all()
return render(request, 'main/students.html', {'studentss':studentss})
def create(request, pk):
error = ''
if request.method == 'POST':
form = studentForm(request.POST)
if form.is_valid():
form.save()
return redirect('student')
else:
error = 'Ошибка формы. Пожалуйста, проверьте правильность веденных данных'
form = studentForm()
data = {
'form': form,
'error': error
}
return render(request, 'main/create.html', data)
def create2(request):
error = ''
if request.method == 'POST':
form = groupForm(request.POST)
if form.is_valid():
form.save()
return redirect('group')
else:
error = 'Ошибка формы. Пожалуйста, проверьте правильность веденных данных'
form = groupForm()
data = {
'form': form,
'error': error
}
return render(request, 'main/create2.html', data)
class GroupUpdateView(UpdateView):
model = group
template_name = 'main/create.html'
form_class = groupForm
# fields = ['titleid', 'titlegroup1', 'titlecurator']
# class LoginUser(DataMixin, loginView):
# form_class = AuthenticationForm
# template_name = 'main/registration.html'
# def get_context_data(self, **kwargs):
# context = super().get_context_data(**kwargs)
# c_def = self.get_user_context(title='Авторизация')
# return dict(list(context.items()) + list(c_def.items()))