3

注: 具体的な質問は最後にあります。最初に、私が行ったすべての手順について説明します:-) )

WindowsでPython 2.7とDjango 4.2.1を使用しています。

docs.djangoproject.com で使用されているプロジェクトである「mysite」というプロジェクトを作成しています。

これまでのところ、チュートリアルと同じように次のことを行いました。

1) typed: django-admin.py startproject mysite これにより、次のすべての標準フォルダーが作成されました。

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

2)入力:manage.py runserverhttp://127.0.0.1:8000アドレスバーに入力すると、お祝いのメッセージが表示されました。

ここまでは順調ですね..

3) 次に、settings.py ファイルを編集しました。まず、DATABASE ENGINE を編集し、次のように入力しました。

'django.db.backends.sqlite3'

4) まだ settings.py で、データベース名を指定して、データベース ファイルを作成します。私はそれを呼んだ:

'mysitedb'

5)次に、次のように入力してデータベースを同期しました(テーブルを作成するため)。

manage.py syncdb

6) 次に、チュートリアルでは、polls というアプリを作成するよう求められます。だから私は入力しました:

manage.py startapp polls

これにより、次のフォルダーとファイルが作成されました。

polls/
    __init__.py
    admin.py
    models.py
    tests.py
    views.py

7) チュートリアルでは、次のように入力して models.py を編集するよう求められます。

from django.db import models
import datetime
from django.utils import timezone

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __unicode__(self):
        return self.question

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField()

    def __unicode__(self):
        return self.choice_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

8) 次に、次のように入力して、settings.py ファイルの INSTALLED_APPS セクションを編集する必要がありました。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',
)

9) 次に、次のように入力して、テーブルとそのフィールドを作成しました (推測します..):

manage.py sql polls

次に、次のように出力されます。

BEGIN;
CREATE TABLE "polls_poll" (
    "id" integer NOT NULL PRIMARY KEY,
    "question" varchar(200) NOT NULL,
    "pub_date" datetime NOT NULL
);
CREATE TABLE "polls_choice" (
    "id" integer NOT NULL PRIMARY KEY,
    "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),
    "choice_text" varchar(200) NOT NULL,
    "votes" integer NOT NULL
);
COMMIT;

10)次に、テーブルを作成するためにこれを入力する必要がありました(同期):

manage.py syncdb

これまでのところ、まだとても良い..

10) 次に、コマンドで python shell を実行し、データベース API で遊ぶことを提案します。その時点で、すべてが正常に機能していました。テーブルのフィールドなどにデータを追加できます。

しかし、ここがうまくいかないところです。チュートリアルの PART 2 から。もう一度サーバーを実行する必要があります(私はそれを実行しました:manage.py runserver、そしてそれはうまくいきました..)。ブラウザーの Web ページを開いて入力http://127.0.0.1:8000/admin/すると、同じように「うまくいきました! 最初の Django を利用したページを作成しました...」というメッセージが表示されます。

エラー メッセージはありません。では、ユーザー ログイン (ユーザー名とパスワード) を含む管理ページを表示するにはどうすればよいでしょうか?

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

5

通常、Django の管理者が機能していない場合、2 つの主な原因は、次の 2 行を urls.py ファイルに追加するのを忘れていることです。

admin.autodiscover()

url(r'^admin/', include(admin.site.urls))

これでチュートリアルを進めることができます。モデルを admin.py に登録するときは、忘れないでください。

admin.site.register(MyModelGoesHere, MyModelAdminNameGoesHere)

幸運を!:)

于 2013-02-05T04:10:33.843 に答える