Почему Django не может обновить дату?
Я практиковался в написании функции обновления (update) Pytohn+Django ModelForm. Но уже много дней ловлю ошибки, до сих пор не могу понять, что пошло не так... Я пришел, чтобы спросить вас, в чем ошибка? Спасибо за совет.
Структура и url MTV с написанием формы и картинками
Модель:
class TaskList(models.Model):
task = models.CharField(max_length=200)
priority = models.PositiveIntegerField(default=0)
status = models.PositiveIntegerField(default=0)
user = models.CharField(max_length=50)
worker = models.CharField(max_length=50, null=True, blank=True)
timestamp = models.DateTimeField(default=timezone.now)
start_date = models.DateField(null=True, blank=True)
finish_date = models.DateField(null=True, blank=True)
def __str__(self):
return self.task
Шаблоны:
{% block main %}
<form action="/edittask/" method="POST">
{% csrf_token %}
<table class="table table-striped">
<tr>
<td align=right>TaskItem</td>
<td><input type=text name="task" size=100
value='{{target_edit.task}}' required></td>
</tr>
<tr><td> </td><td>
<input type=submit value="Update" class="btn btn-primary">
</td></tr>
</table>
</form>
{% endblock %}
Просмотров:
@login_required(login_url='/admin/login/')
def edit_task(request,id=1):
tasks = TaskList.objects.get(id=id)
logged_user = User.objects.get(username=request.user.username)
logged_user = UserProfile.objects.get(user=logged_user)
form = TaskListEdit(instance=tasks)
if request.method=='POST':
form = TaskListEdit(request.POST,instance=tasks)
print(form)
if form.is_valid():
form.save()
return redirect("/tasklist/")
try:
target_edit = TaskList.objects.get(id=id)
except:
return redirect("/tasklist/")
return render(request,"edit_task.html",locals())
Url
urlpatterns = [
path('edittask/',views.edit_task),
path('edittask/<int:id>/',views.edit_task),
path('', views.index),
]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
forms:
class TaskListEdit(ModelForm):
class Meta:
model = TaskList
fields = ['task']
формы
class TaskListEdit(ModelForm):
class Meta:
model = TaskList
fields = ['task']
Я не уверен, была ли это ошибка при копировании-вставке, но не могли бы вы перепроверить отступы? Похоже, что в вашем коде они смещены.