1

djangoチュートリアルの内容を実行しましたが、作成したユーザーを使用してlocalhost:8000 /admin/にログインできませんでした。データベースを確認しましたが、ユーザー名'admin'がありません。私はユーザーを作成しました:

from django.contrib.auth.models import User
u = User.objects.get(username__exact='john')
u.set_password('new password')
u.save()

誰かが私を助けることができますか?お願いします。

4

3 に答える 3

3

syncdbは通常、データベースを作成/更新するため、ステートメントから次のようになります。

データベースを確認しましたが、ユーザー名「admin」がありません

どういうわけかデータベースを作成したに違いないことを理解しています。syncdbを初めて実行するときに、スーパーユーザーを作成するように求められます。そこにクレデンシャルを挿入する必要があります。

ただし、この部分を失った場合は、後でdjangoシェルを使用できます。

python manage.py shell

これにより、django環境がロードされた状態でPythonシェルが開きます。そのシェルで、次のようにadminユーザーを作成します。

from django.contrib.auth.models import User
u = User(username='admin', is_superuser=True, is_staff=True)
u.set_password('admin')
u.save()

新しいユーザーが管理領域にログインできるようにするには*is_staff*がtrueである必要があり、ユーザーがすべての権限を持つには*is_superuser*もtrueである必要があることに注意してください。

次に、localhost:8000 / admin /に移動し、新しい「admin」ユーザーでログインします。

于 2012-11-15T15:18:48.530 に答える
0

私はあなたがもう一度全体の手順を通過することを提案します、あなたが明らかにいくつかのものを逃したので。最初から始めてください。次に、見逃したものが表示されます。

PSユーザー名johnを使用している場合、ユーザー名adminと同じユーザーを使用することはできません。

pythonmanage.pysyncdbの実行を省略した可能性があると思います

于 2012-11-15T04:35:14.827 に答える
0

チュートリアルの第2部から、管理サイトを有効にするために次の3つのことを行う必要があります。あなたはそれらのどれかを逃しましたか?

  1. INSTALLED_APPS設定の「django.contrib.admin」のコメントを解除します。

  2. pythonmanage.pysyncdbを実行します。INSTALLED_APPSに新しいアプリケーションを追加したので、データベーステーブルを更新する必要があります。

  3. mysite / urls.pyファイルを編集し、管理者を参照している行のコメントを解除します。コメントを解除するには、合計3行あります。

于 2012-11-15T04:38:22.430 に答える