2

私は、人々が記事を作成する Django サイトに取り組んでいます。登録プロセスの一環として記事を作成できるようにしたいと思います。手順は次のとおりです。

  1. ユーザーが登録またはログインせずに「記事の作成」を押します。
  2. ユーザーは、記事を作成するためのフォームを表示する「記事の作成」ページに誘導されます。
  3. 「記事の作成」フォームで「送信」ボタンを押すと、ユーザーは登録/ログイン ページにリダイレクトされます。
  4. 登録プロセスまたはログイン後、記事はユーザーの ID で保存されます。

私はDjangoを初めて使用するので、私が懸念している限り、複雑な点は次のとおりです。

  • ログイン プロセス後まで、AnonymousUser を作成者としてオブジェクトを保存しますか? ユーザーがログインまたは登録した後にオブジェクトを保存できるように、オブジェクトを再度見つけるにはどうすればよいですか? AnonymousUser オブジェクトに一意の識別子はありますか?

  • 登録が行われるまで (保存するため)、URL を使用してオブジェクトを登録プロセスに渡す必要がありますか? どうやってそれを行うのですか?

4

2 に答える 2

2

There are a couple of ways to do what you're wanting to do. I would exclude the user from your create Article form, and set user to blank=True, null=True.

It's really up to you as to whether or not you just hold the article in session until after you create your user, or persist it to the database and assign the user after.

One benefit of holding it in session is that if the user abandons the registration process, you don't have a record in the database. I would recommend going this way, as it's easy to do, and you don't have to have any logic to clean up your db, should the user abandon the session.

To specifically answer your question about an anonymous user...no, there is not a unique identifier for an anonymous user. You can use sessions in Django to persist objects between views.

于 2013-02-25T02:08:22.870 に答える
1

「登録が行われるまで (保存するために)、URL を使用して登録プロセスにオブジェクトを渡す必要がありますか? どうすればよいですか?」

あなたが行った上記の提案はより良い解決策ですが、それをurlに渡さないでください。これを成功させるには 2 つの方法があります。

  1. URLに渡す代わりに、誰も気付かないようにセッション変数を介してオブジェクトを渡すことができます。
  2. IP アドレスを介して取得する必要があるオブジェクトを決定できます。
于 2013-02-25T02:18:08.197 に答える