2014-03-24 62 views
3

我已按照來自亞馬遜的這條youtube指令將django web應用程序部署到AWS EB EC2。該網站成功運行。但我無法登錄到管理員。 django民意調查的例子。我記得在安裝過程中,它會提示我進行RDS設置,並且由於我的Web應用程序使用MySQL,我不得不選擇RDS設置。當我安裝RDS時,它並沒有提示我創建一個用戶,但只是促使我創建一個密碼,我盡職盡責。我的用戶和通行證是什麼?在AWS EC2上部署django,但無法登錄管理員

https://www.youtube.com/watch?v=YJoOnKiSYws

類似的指令可以在AWS上找到了。

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html

我已經試過用戶名「根」和密碼是「空」,這對我的本地PC的作品,但當然,這會使事情太簡單的。

嘗試失敗之後,我在AWS上的EC2和RDS儀表板中進行了一些搜索,發現username = ebroot。

所以我嘗試了用戶名'ebroot'和密碼[rds_password_from_setup],但是沒有奏效。

我已經嘗試了許多其他用戶名和密碼的組合,但沒有任何作品。這可能是向在線社區提出的一個愚蠢的問題,但是你認爲我的用戶名和密碼是RDS可以接受的嗎?

+0

通過「Admin」你意思是django管理員? (我不想看整個視頻) – daveoncode

+0

是的,這是django管理員。讓我修改這個問題來澄清。謝謝。 – vt2424253

+0

好的,檢查我的答案;) – daveoncode

回答

5

爲了在Beanstalk上爲我的Django應用程序創建一個管理用戶,我創建了一個定製的Django命令,我在containers_commands中調用,所以根本不需要人工輸入!此外,我將用戶/密碼定義爲環境變量,因此我可以安全地將我的代碼置於版本控制之下。我命令的實現與此類似:

import os 

from django.core.management.base import BaseCommand 

from com.cygora.apps.users.models.User import User 

class Command(BaseCommand): 

    def handle(self, *args, **options): 
     username = os.environ['SUPER_USER_NAME'] 
     if not User.objects.filter(username=username).exists(): 
      User.objects.create_superuser(username, 
              os.environ['SUPER_USER_EMAIL'], 
              os.environ['SUPER_USER_PASSWORD']) 

然後在我的魔豆的配置:

container_commands: 
    02_create_superuser_for_django_admin: 
    command: "python manage.py create_cygora_superuser" 
    leader_only: true 

PS:如果你從來沒有創建一個自定義的前Django的命令,你必須要對創建一個包:management.commands在你想要的應用程序(即:/your_project/your_app/management/commands/the_command.py)中,Django會自動加載它(你可以在打字時看到它python manage.py --help

+3

戴夫,你搖滾!非常感謝! – vt2424253

+0

不客氣...順便說一句,如果你想跟隨我的博客http://www.daveoncode.com我會發表一些新的東西的論點;) – daveoncode

+0

什麼是com.cygora.apps.users.models。用戶? – itsji10dra