Дата и имя файла не отображаются при обновлении данных в Django
Я пробовал некоторые шаблоны, предложенные некоторыми пользователями Stackoverflow. Они выглядят так: date:'jS M Y' & date:'c' Но в моем случае они не работают.
Также смотрите эту статью : django update view not showing date input (previous) values
- Models.py
from tkinter import CASCADE
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Create your models here.
class Ticket2(models.Model):
ticketholder = models.ForeignKey(User, on_delete=models.CASCADE, default=None)
ticket_id = models.CharField(max_length=8, default='NS000001')
server_details = models.CharField(max_length=100)
send_date = models.DateTimeField(default=timezone.now)
license_no = models.CharField(max_length=25)
file = models.FileField(upload_to='documents/%Y%m%d/')
def __str__(self):
return self.ticket_id
- edit.html
{% extends 'base.html' %}
{% block content %}
<h3 class="row justify-content-around">Edit Form</h3>
<div class="row justify-content-around" class="modal-body">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputEmail1">Ticket ID</label>
<input type="text" value="{{ticketdata.ticket_id}}" name="ticket_id" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Server Details</label>
<input type="text" value="{{ticketdata.server_details}}" name="server_details" class="form-control" id="exampleInputPassword1" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Send Date</label>
<input type="datetime-local" value="{{ ticketdata.send_date.value|date:'jS M Y' }}" name="send_date" class="form-control" id="exampleInputPassword1" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">License No</label>
<input type="text" value="{{ticketdata.license_no}}" name="license_no" class="form-control" id="exampleInputPassword1" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Files</label>
<input type="file" value="{{ticketdata.file}}" name="file" class="form-control" id="exampleInputPassword1" required>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</form>
</div>
{% endblock %}
- views.py
from django.shortcuts import render, redirect
from .models import Ticket2
from tmsapp.forms import SaveTicket
from django.contrib import messages
from django.contrib.auth.decorators import login_required
# Create your views here.
@login_required
def Index(request):
ticketdata = Ticket2.objects.filter(ticketholder = request.user)
if request.method == "POST":
form = SaveTicket(request.POST,request.FILES or None)
if form.is_valid():
form.save(commit=False).ticketholder = request.user
form.save()
messages.success(request,("Data has been added successfully !!"))
print(form)
return redirect('index')
else:
form = SaveTicket()
return render(request, 'index.html', {'ticketdata':ticketdata})
@login_required
def Delete(request, id):
ticketdata = Ticket2.objects.get(pk=id)
ticketdata.delete()
messages.success(request,("Data has been deleted successfully !!"))
return redirect('index')
@login_required
def Edit(request, id):
if request.method == "POST":
ticketdata = Ticket2.objects.get(pk=id)
form = SaveTicket(request.POST,request.FILES or None, instance=ticketdata)
if form.is_valid():
form.save()
messages.success(request,("Data has been updated successfully !!"))
print(form)
return redirect('index')
else:
ticketdata = Ticket2.objects.get(pk=id)
print(ticketdata.file)
return render(request, 'edit.html', {'ticketdata':ticketdata})