2014-07-09 2 views
0

그래서이 오류 ([Errno 10013] 액세스 권한으로 금지 된 방식으로 소켓에 액세스하려고 시도했습니다.)가 계속 발생합니다. 내가 장고에서 등록을하려고 할 때. 난 장고 1.65와 윈도우 7과 pycharm IDE를 사용하고 있습니다. 나는 이미 서버 (8001 & 8008)를 실행하고 python.exe 및 pycharm에 대한 Windows 방화벽 및 kasperesky 방화벽의 사용 권한을 추가하기 위해 다른 포트를 시도했다. 어떠한 제안.장고 등록 [Errno 10013] 오류

Environment: 


Request Method: POST 
Request URL: http://127.0.0.1:8001/accounts/register/ 

Django Version: 1.6.5 
Python Version: 2.7.8 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'profiles', 
'south', 
'registration', 
'PIL', 
'stripe') 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware') 


Traceback: 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\core\handlers\base.py" in get_response 
    112.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\views\generic\base.py" in view 
    69.    return self.dispatch(request, *args, **kwargs) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\views.py" in dispatch 
    79.   return super(RegistrationView, self).dispatch(request, *args, **kwargs) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\views\generic\base.py" in dispatch 
    87.   return handler(request, *args, **kwargs) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\views.py" in post 
    35.    return self.form_valid(request, form) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\views.py" in form_valid 
    82.   new_user = self.register(request, **form.cleaned_data) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\backends\default\views.py" in register 
    80.                  password, site) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\db\transaction.py" in inner 
    431.     return func(*args, **kwargs) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\models.py" in create_inactive_user 
    91.    registration_profile.send_activation_email(site) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\registration\models.py" in send_activation_email 
    270.   self.user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\contrib\auth\models.py" in email_user 
    413.   send_mail(subject, message, from_email, [self.email]) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\core\mail\__init__.py" in send_mail 
    50.       connection=connection).send() 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\core\mail\message.py" in send 
    274.   return self.get_connection(fail_silently).send_messages([self]) 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\core\mail\backends\smtp.py" in send_messages 
    87.    new_conn_created = self.open() 
File "C:\Users\jasan\Virtual_enviornments\virtual_env_matchmaker\lib\site-packages\django\core\mail\backends\smtp.py" in open 
    48.           local_hostname=DNS_NAME.get_fqdn()) 
File "C:\Python27\Lib\smtplib.py" in __init__ 
    251.    (code, msg) = self.connect(host, port) 
File "C:\Python27\Lib\smtplib.py" in connect 
    311.   self.sock = self._get_socket(host, port, self.timeout) 
File "C:\Python27\Lib\smtplib.py" in _get_socket 
    286.   return socket.create_connection((host, port), timeout) 
File "C:\Python27\Lib\socket.py" in create_connection 
    571.   raise err 

Exception Type: error at /accounts/register/ 
Exception Value: [Errno 10013] An attempt was made to access a socket in a way forbidden by its access permissions 
+0

일부 전자 메일을 보내려고 할 때 SMTP 프로토콜과 관련이있는 것 같습니다. 설정을 확인하십시오. – Stan

+0

이메일 smtp에 대해 EMAIL_PORT = 587을 정의해야했습니다. 이것 이후에 prpoblem을 수정했습니다 – jasan

답변

1

문제는 이메일 서버 설정과 관련이 있습니다. 대신 해결하기 위해 무엇 파악의 바로 다음에 settings.pyEMAIL_BACKEND을 설정

if DEBUG: 
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 

이 방법을, 장고가 보낸 이메일 대신 전달을 시도의 콘솔에 표시됩니다. 그런 다음 응용 프로그램을 계속 개발할 수 있습니다.

개발중인 콘솔에서 전자 메일을 인쇄하는 것이 좋지만 응용 프로그램이 많은 전자 메일을 보내는 경우 두통이 날 수 있습니다.

더 좋은 해결책은 mailcatcher을 설치하는 것입니다. 이 응용 프로그램은 당신이 서버에서 전송되는 이메일을 볼 수있는 웹 인터페이스를 제공, 테스트 및 보너스로 로컬 메일 서버를 생성합니다 :

mailcatcher

그것은 루비 응용 프로그램입니다, 당신 같은 Windows에 설치하려면 rubyinstaller을 사용하여 보석 설치를 도와주십시오.

웹 사이트는 어떻게 장고를 구성하는 방법을 보여줍니다 :

if DEBUG: 
    EMAIL_HOST = '127.0.0.1' 
    EMAIL_HOST_USER = '' 
    EMAIL_HOST_PASSWORD = '' 
    EMAIL_PORT = 1025 
    EMAIL_USE_TLS = False 
+0

이것은 분명히 내가 얻은 오류를 전달하게하고, 이메일은 콘솔에 보내지 만, 무엇이 내 설정을 잘못 지정했는지에 대한 제안은 EMAIL_HOST = 'smtp.gmail. com ' EMAIL_HOST_USER ='gmal 사용자 이름 ' EMAIL_HOST_PASSWORD ='Gmail 비밀번호 ' EMAIL_USE_TLS = True – jasan

+0

Gmail을 사용하려면 EMAIL_PORT = 587을 정의해야합니다. 고마워. – jasan

0

이 웹 서버 포트와는 아무 상관이는 smtplib 전송하기 위해 열려고 호스트와 포트를 함께 할 수있다이 없습니다 이메일.

이들은 settings.EMAIL_HOSTsettings.EMAIL_PORT에 의해 제어됩니다. 다른 설정도 있습니다. 이메일을 올바르게 설정하는 방법에 대한 자세한 내용은 documentation을 참조하십시오.