Я пытаюсь создать сайт с функцией To-do! Пока что я запрограммировал его так, чтобы он отлично работал с одним пользователем. Однако, когда я вхожу в систему под другим пользователем, я все еще могу просматривать свой список дел, и мне это не нужно.
Теперь я был бы очень рад, если бы смог указать это c функция, доступная большому количеству людей. поэтому этот человек входит в свою учетную запись, создает свой собственный список / я вхожу в свой и создаю свой собственный.
Я искал так много руководств и статей на YouTube, ни один из них не помог :( Это ' Будет здорово, если я смогу решить эту проблему здесь, с большой помощью таких экспертов по кодированию, как вы!
Вот мой код, связанный с функцией To-do
Views.py
def ToDo(request):
todos = TodoList.objects.all()
categories = Category.objects.all()
if request.method == "POST":
if "taskAdd" in request.POST:
title = request.POST["description"]
date = str(request.POST["date"])
category = request.POST["category_select"]
content = title + " -- " + date + " " + category
Todo = TodoList(title=title, content=content, due_date=date,
category=Category.objects.get(name=category))
Todo.save()
return redirect("/to_do")
if "taskDelete" in request.POST:
print(request.POST)
checkedlist = request.POST.getlist('checkedbox')
for todo_id in checkedlist:
todo = TodoList.objects.get(id=int(todo_id))
todo.delete()
return render(request, 'Todolist.html', {"todos": todos, "categories":categories})
models.py
class TodoList(models.Model):
title = models.CharField(max_length=250)
content = models.TextField(blank=True)
created = models.DateField(default=timezone.now().strftime("%Y-%m-%d"))
due_date = models.DateField(default=timezone.now().strftime("%Y-%m-%d"))
category = models.ForeignKey(Category, on_delete=models.CASCADE)
class Meta:
ordering = ["-created"]
def __str__(self):
return self.title
Todo. html
<div django-app="TaskManager">
<div class="container">
<div class="content">
<h2 style="text-align: center">Tasks are listed here!</h2>
<p class="tagline">Jayden's To-Do system</p>
<form action="" method="post">
{% csrf_token %}
<div class="inputContainer">
<label for="category">What should I do??</label>
<input type="text" id="description" class="taskName" placeholder="Task Description" name="description" required>
</div>
<div class="inputContainer half last">
<i class="fa fa-caret-down selectArrow"></i>
<label for="category">Course?</label>
<select id="category" class="taskCategory" name="category_select">
<option class="disabled" value="">Choose the course</option>
{% for category in categories %}
<option class="" value="{{ category.name }}" name="{{ category.name }}">{{ category.name }}</option>
{% endfor %}
</select>
</div>
<div class="inputContainer half last right">
<label for="dueDate">Until when? (Due Date)</label>
<input type="date" id="dueDate" class="taskDate" name="date">
</div>
<div class="row">
<button class="taskAdd" name="taskAdd" type="submit"><i class="fa fa-plus icon"></i>Add task</button>
<button class="taskDelete" name="taskDelete" formnovalidate="" type="submit" onclick="$('input#sublist').click();"><i class="fa fa-trash-o icon"></i>Delete Tasks</button>
</div>
<ul class="taskList">
{% for todo in todos %}
<li class="taskItem">
<input type="checkbox" class="taskCheckbox" name="checkedbox" id="{{ todo.id }}" value="{{ todo.id }}">
<label for="{{ todo.id }}"><span class="complete-">{{ todo.title }}</span></label>
<span class="category-{{ todo.category }}">{{ todo.category }}</span>
<strong class="taskDate"><i class="fa fa-calendar"></i>{{ todo.created }} - {{ todo.due_date }}</strong>
</li>
{% endfor %}
</ul>
</form>
</div>
Может ли кто-нибудь помочь мне сделать это c пользователям? Спасибо !!