#python #html #django #database
Вопрос:
Введите описание изображения здесьВведите описание изображения здесь это моя edit.html код и при получении значения из базы данных и показывает в этой HTML-форме, он показывает только первое имя, когда я пишу значение={{ я.full_name}} почему не полное имя при заполнении формы я включил полное имя я думаю, что есть какая-то ошибка после пробела он не может читать символы больше, например, при заполнении формы я написал Роуэн Аткинсон но при редактировании в форме я получаю только рябина. Вы можете видеть на изображении, которое я прикрепил.
<section class="site-section">
<div class="container">
<div class="row">
<div class="col-lg-12 mb-5">
<h2 class="mb-4 text-center">Update Candidate Details</h2>
<form method="POST" action="/update/ {{i.id}}/" enctype="multipart/form-data" class="p-4 border rounded" onsubmit="myFunction()" >
{% csrf_token %}
{% comment %} <input type="hidden" name="csrfmiddlewaretoken" value="UabxqpD8HGPOu1ZSFnIHAPbMtRgWBAnVHEs8bLDx0HnxN6uhG3LyYvZShvcx1ekn"> {% endcomment %}
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="full_name">Full Name :</label>
<input type="text" class="form-control" value ={{ i.full_name}} name="full_name" id="id_full_name" placeholder="Enter First Name">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="recruiter_name">Recruiter Name :</label>
<input type="text" class="form-control" value ={{ i.recruiter_name }} name="recruiter_name" id="id_recruiter_name" placeholder="Enter Recruiter Name">
</div>
</div>
{% comment %} <div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="id_last_name">Last Name :</label>
<input type="text" class="form-control" name="last_name" id="id_last_name" placeholder="Enter Last Name">
</div>
</div> {% endcomment %}
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="email">Email :</label>
<input type="email" class="form-control" value ={{i.email }} name="email" id="id_email" placeholder="Enter Email">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="noticeperiod">Notice Period (in Days) :</label>
<input type="text" class="form-control" value ={{i.noticeperiod }} name="noticeperiod" id="notice_period" placeholder="Notice Period">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="preferredlocation">Current Location :</label>
<input type="text" class="form-control" value ={{i.preferredlocation}} name="preferredlocation" id="preferred_location" placeholder="Enter Current Location">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="expectedlocation">Expected Location :</label>
<input type="text" class="form-control" value ={{i.expectedlocation}} name="expectedlocation" id="expected_location" placeholder="Enter Multiple Locations seperated by comma">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="currentctc">Current CTC (Per Annum) :</label>
<input type="text" class="form-control" value ={{i.currentctc }} name="currentctc" id="current_ctc" placeholder="Current CTC">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="expectedctc">Expected CTC (Per Annum) : </label>
<input type="text" class="form-control" value ={{i.expectedctc }} name="expectedctc" id="expected_ctc" placeholder="Expected CTC">
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" for="status">Status : </label> </br>
<select name="status" id="status" class="form-control" value ={{i.status }}>
<option value="CV Received">CV Received</option>
<option value="Submitted to Client">Submitted to Client</option>
<option value="Rejected">Rejected</option>
<option value="Offered">Offered</option>
<option value="Joined">Joined</option>
<option value="Closed">Closed</option>
<option value="Payment Received">Payment Received</option>
</select>
{% comment %} <input type="text" class="form-control" name="status" id="status1" placeholder="Enter Application Status"> {% endcomment %}
</div>
</div>
<div class="row form-group">
<div class="col-md-12 mb-3 mb-md-0">
<label class="text-black" >Upload CV</label></br>
<input type="file" name="cv" id="cv1" value ={{ i.cv}} >
</div>
</div>
<div class="row form-group mb-4">
<div class="col-md-12 mb-3 mb-md-0">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" id="male" value={{i.gender}}>
<label class="form-check-label" for="male">Male</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" id="female" value={{i.gender}}>
<label class="form-check-label" for="female">Female</label>
</div>
</div>
</div>
<div class="row form-group">
<div class="col-md-12">
<input type="submit" value="Update" id ="submit" class="btn px-4 btn-primary text-white">
{% comment %} <a href="{% url 'jobapp:jobconfirm' %}" class="btn btn-warning btn-block btn-lg">Sign Up</a> {% endcomment %}
</div>
</div>
Это мое views.py
#delete
def delete(request, id):
i = ApplyForm.objects.get(id = id)
i.delete()
return redirect('account:dboard')
#edit
def edit(request, id):
i = ApplyForm.objects.get(id = id)
context = {
'i' : i
}
return render(request, 'account/edit.html', context)
#update
def update(request, id):
i = ApplyForm.objects.get(id = id)
i.full_name = request.POST['full_name']
i.email = request.POST['email']
i.noticeperiod = request.POST['noticeperiod']
i.preferredlocation = request.POST['preferredlocation']
i.expectedlocation = request.POST['expectedlocation']
i.currentctc = request.POST['currentctc']
i.expectedctc= request.POST['expectedctc']
i.recruiter_name = request.POST['recruiter_name']
i.status = request.POST['status']
i.gender = request.POST['gender']
i.cv = request.FILES['cv']
i.save()
return redirect('account:dboard')
И мой models.py
class ApplyForm(models.Model):
full_name = models.CharField(max_length=300)
email = models.EmailField(max_length=300)
noticeperiod = models.CharField(max_length = 300)
preferredlocation = models.CharField(max_length=300)
expectedlocation = models.CharField(max_length=300)
currentctc = models.CharField(max_length=300)
expectedctc = models.CharField(max_length=300)
recruiter_name = models.CharField(max_length = 300, null=True)
status = models.CharField(max_length = 300, null=True, choices= CATEGORY_CHOICES )
gender = models.CharField(max_length=10, choices=GENDER_CHOICES)
cv = models.FileField(upload_to='')
Это означает , что после пробела я не могу извлечь символы , я не знаю, что делать, что происходит, также я не получаю данные для поля выбора и поля файла, т. Е. Загружаю поля резюме, пола, статуса, я получаю данные из других полей, но после пробела любого текста я не получаю символы, для которых я прикрепил изображение.
Комментарии:
1. Используйте кавычки:
value="{{ i.full_name}}"
Рекомендуется всегда использовать кавычки с атрибутами HTML, так как в значениях могут быть пробелы .2. Пожалуйста, просто используйте формы Django вместо написания разметки формы вручную.
3. да, формы django в порядке, но я уже создал это, Хорошо, я попробую с формами django
4. Да, это работает, когда я включил цитаты, но не могу получить значение двух полей выбора, то есть статуса и пола, и одного поля файла, которое загружает резюме. Что я могу для этого сделать ? в соответствии с моим кодексом, что я могу сделать.
Ответ №1:
Если ваш вопрос все еще актуален, вы можете его решить:
Для поля «Статус«:
<select name="status" id="status" class="form-control">
<option value="CV Received"{% if i.status == 'CV Received' %} selected {% endif %}>CV Received</option>
<option value="Submitted to Client"{% if i.status == 'Submitted to Client' %} selected {% endif %}>Submitted to Client</option>
<option value="Rejected"{% if i.status == 'Rejected' %} selected {% endif %}>Rejected</option>
<option value="Offered"{% if i.status == 'Offered' %} selected {% endif %}>Offered</option>
<option value="Joined"{% if i.status == 'Joined' %} selected {% endif %}>Joined</option>
<option value="Closed"{% if i.status == 'Closed' %} selected {% endif %}>Closed</option>
<option value="Payment Received"{% if i.status == 'Payment Received' %} selected {% endif %}>Payment Received</option>
</select>
Для области «Гендер«:
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" id="male" value="male" {% if i.gender == 'male' %} checked {% endif %}>
<label class="form-check-label" for="male">Male</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" id="female" value="female" {% if i.gender == 'female' %} checked {% endif %}>
<label class="form-check-label" for="female">Female</label>
</div>
Для загруженного резюме:
<div class="col-md-12 mb-3 mb-md-0">
{% if i.cv %}
<a href="{{ i.cv.url }}" target="_blank" id="a_link">{{ i.cv }}</a>
{% endif %}
<label class="text-black" >Upload CV</label></br>
<input type="file" name="cv" id="cv1">
</div>