2015-01-07 164 views
1

我使用Django FTP server,它使用Django的用戶認證。Django FTP服務器無法登錄

這裏是我的代碼來創建FTP用戶賬號

group = FTPUserGroup.objects.get(id=1) 
home_dir = '/home/user/Workspace/ftpproject/ftproot' 
account = FTPUserAccount.objects.create(user=user, group=group, home_dir=home_dir) 

上面的代碼django_ftpserver_ftpuseraccount表正確創建的記錄。

啓動FTP serevr與python manage.py ftpserver 127.0.0.1:10021

但我不能夠通過FileZilla中登錄 FTP服務器響應

Status: Connecting to 127.0.0.1:10021... 
Status: Connection established, waiting for welcome message... 
Response: 220 pyftpdlib 1.4.0 ready. 
Command: USER wpgjeQpgkDdVOMjFurYuvBxaRgfVoE 
Response: 331 Username ok, send password. 
Command: PASS ****** 
Response: 530 Authentication failed. 
Error: Critical error 
Error: Could not connect to server 

我進入肯定密碼是正確的,我可以登錄與我的django應用程序相同的密碼。

任何想法?

請問Django會創建FTP目錄嗎?什麼是路徑?需要什麼權限?

+0

嗨Mithun你解決了嗎?我與我的Django FTPServer面臨同樣的問題。謝謝! – acostela

+0

@acostela你有沒有經歷過這一切? django_ftpserver日誌說什麼? –

+0

嗨,我剛剛解決了它。是網絡問題。我的FTP服務器在一個內部循環接口中,所以我無法從外部訪問它。感謝您的關注:D – acostela

回答

0

通過從Django管理面板對Django FTP組設置適當的權限解決了認證問題。

用戶需要添加到任何FTP用戶組,並且該組需要具有elradfmw權限。

創建/保存Django FTP用戶帳戶對象將只創建數據庫記錄,它不會創建任何物理目錄;您將不得不創建它並在FTP用戶帳戶模式的home_dir字段中設置路徑。

account = FTPUserAccount.objects.create(user=user, group=group, home_dir=home_dir)