У меня есть список отделов, которые я хочу показать в выпадающем списке, но они не отображаются?
Это приложение-дежурный журнал, и пользователь хочет, чтобы из выпадающего списка можно было выбрать отдел.
Вот мои views.py
def index(request): # the index view
logs = Dutylog.objects.all() # querying all logs with the object manager
departments = Department.objects.all() # getting all departments with object manager
if request.method == "POST": # checking if the request method is a POST
if "taskAdd" in request.POST: # checking if there is a request to add a logo
title = request.POST["description"] # title
date = str(request.POST["date"]) # date
department = request.POST["department_select"] # department
content = title + " -- " + date + " " + department # content
Log = Dutylog(title=title, content=content, due_date=date, department=Department.objects.get(name=department))
Log.save() # saving the log
return redirect("/") # reloading the page
if "taskDelete" in request.POST: # checking if there is a request to delete a log
checkedlist = request.POST["checkedbox"] # checked logs to be deleted
for log_id in checkedlist:
Log = Dutylog.objects.get(id=int(log_id)) # getting log id
Log.delete() # deleting logo
return render(request, "index.html", {"logs": logs, "department": departments})
Вотмой models.py
class Department(models.Model): # The Category table name that inherits models.Model
name = models.CharField(max_length=100) # Like a varchar
class Meta:
verbose_name = ("Department")
verbose_name_plural = ("Departments")
def __str__(self):
return self.name # name to be shown when called
class Dutylog(models.Model): # Dutylog able name that inherits models.Model
title = models.CharField(max_length=250) # a varchar
content = models.TextField(blank=True) # a text field
created = models.DateField(default=timezone.now().strftime("%Y-%m-%d")) # a date
due_date = models.DateField(default=timezone.now().strftime("%Y-%m-%d")) # a date
department = models.ForeignKey(Department, default="general", on_delete=models.PROTECT) # a foreignkey
class Meta:
ordering = ["-created"] # ordering by the created field
def __str__(self):
return self.title # name to be shown when called
и HTML-шаблон
<div class="inputContainer half last">
<i class="fa fa-caret-down selectArrow"></i>
<select id="department" class="taskCategory" name="department_select">
<option class="disabled" value="">Choose a Department</option>
{% for department in departments %}
<option class="" value="{{ department.name }}" name="{{ department.name }}">{{ department.name }}</option>
{% endfor %}
</select>
<label for="department">Department</label>
</div>