2015-01-07 127 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)