2013-02-05 61 views
3

注意:具体问题在下文结束。首先描述我穿过的所有步骤:-))创建第一个Django项目:admin网页将无法打开

在Windows上使用Python 2.7和Django 4.2.1 。

我创建了一个名为“mysite的”项目,该项目是在docs.djangoproject.com使用的项目。

到目前为止,我已经做了以下就像在教程:

1)类型:django-admin.py startproject mysite 这创造了所有的标准文件夹,它们是:

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

2)类型:管理.py运行服务器 ,并在地址栏中输入http://127.0.0.1:8000时,我收到了祝贺消息。

到目前为止,这么好..

3)然后我编辑settings.py文件。首先,我编辑的数据库引擎中键入以下内容:

'django.db.backends.sqlite3' 

4)仍然在settings.py,我指出一个数据库名称,以便它创建一个数据库文件。我把它叫做:

'mysitedb' 

5)然后,我通过键入同步数据库(创建表):

manage.py syncdb 

6)然后教程要求创建一个名为投票的应用程序。所以我输入:

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)然后我键入以下内容来创建表和它们的字段(I猜..):

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进行操作。在那一刻,一切都很好。可以在表格的字段中添加数据等

但是,这里是不起作用的地方。从教程的第2部分。我必须再次运行服务器(我这样做了:manage.py runserver,并且它工作正常..)。 我打开浏览器网页并输入http://127.0.0.1:8000/admin/,我得到相同的“它的工作!祝贺你的第一个Django供电页...”

没有错误信息。那么如何让用户登录的管理页面(用户名和密码)出现?

任何帮助将不胜感激。 谢谢!

+3

您是否在urls.py url中添加了管理网址(r'^ admin /',include(admin.site.urls))'?或者你忘了添加'admin.autodiscover()'到urls.py?这些通常是导致它无法工作的两大罪魁祸首。 :) –

+0

@limelights:你应该转换你的评论回答,因为这就是它!与你的两个建议,它的工作原理! – Sylvain

+0

完成;)很高兴工作! –

回答

5

通常,当Django中的管理员不工作时,两个主要元凶忘了将以下两行添加到urls.py文件中。

admin.autodiscover() 

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

现在你可以继续使用教程,并当您在admin.py模型注册,不要忘记

admin.site.register(MyModelGoesHere, MyModelAdminNameGoesHere) 

祝你好运! :)

+0

非常好!有用 ;-) – Sylvain