私は非常にシンプルなやることリストアプリケーションを作成しています。各ユーザーには、基本的なCRUD機能を備えたToDoリストページが関連付けられている必要があります。つまり、ユーザーAはユーザーBとは異なるデータを持つ必要があります。
現在のところ、やることリストを誰が所有しているかについての区別はありません。ログインしている人は誰でも、タスクを追加、削除、表示、削除できます。
モデルとテンプレートに何か余分なものが必要になるかもしれないと直感しています。私はPinax0.9a2を使用していることに言及する必要があります。それが私がそれをするのに必要なことをするなら、私は代わりにその解決策を使うことを好みます。
これが私のmodels.pyです
class Task(models.Model):
name = models.CharField(max_length=100)
added_at = models.DateTimeField(auto_now_add=True)
last_update = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.name
これがviews.pyの私のフォームの1つです
def task_create(request):
return create_object(request,
model=Task,
template_name='task_create.html',
post_save_redirect=reverse("todo_list")
)
これが私のテンプレートの2つです:
To-Do Create
<form action="" method="post">{% csrf_token %}
{{ form.name }}
<button type="submit" class="btn primary">Create →</button>
</form>
やることリスト
{% if task_list %}
<p><a href="{% url task_create %}">Create a task</a></p>
<ul>
{% for task in task_list %}
<li><a href="{% url task_detail task.id %}">{{ task.name }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No tasks to display, click to <a href="{% url task_create %}">create new</a>.</p>
{% endif %}