현재 로컬 네트워크에서 한 서버 (서버 1)에서 실행되지만 다른 서버 (서버 2)에 대한 쓰기 액세스가 필요한 내부 용 Django 응용 프로그램을 개발 중입니다. 데이터가 데이터베이스에 저장 될 때.Django와 Apache : 네트워크의 다른 서버에 폴더 만들기
새 레코드가 저장되면 Django는 적절한 폴더 이름을 사용하여 외부 서버 (서버 2)에 새 디렉토리를 만듭니다. 이것은 전체 로컬 네트워크에 액세스 할 수있는 Django 테스트 서버에서 잘 작동했습니다.
이제 Apache와 mod_wsgi를 사용하여 장고 응용 프로그램을 성공적으로 배포했지만 폴더 생성 절차가 더 이상 작동하지 않습니다. 나는 몇 가지 시도했지만 신속하게 해결할 수 없습니다. 어떤 아이디어? 이것은 장고와 아파치로 실제로 구현할 수 있습니까?
def create_folder(self,request,obj,form, change, serverfolder, templatefolder):
try:
source_dir = templatefolder # Replace with path to project folder template
if not os.path.exists(destination_dir):
dir_util.copy_tree(source_dir,destination_dir)
obj.projectfolder = destination_dir
messages.success(request,"Project folder created on %s" % (serverfolder))
obj.create_folder = False
obj.has_folder = True
else:
messages.warning(request,"No new project folder created on %s server" % (obj.office.abbreviation))
except Exception,e:
messages.warning(request,str(e) + " Error during project folder creation on %s server!" % (obj.office.abbreviation))
def save_model(self, request, obj, form, change):
serverfolder = r'\\C-s-002\Projects' #C-s-002 is the external server in the same local network as the server on which Django is running
templatefolder = r'\\C-s-002\Projects\XXX Project Template'
self.create_folder(request,obj,form, change, serverfolder, templatefolder)
다른 서버 (서버 2)에 연결할 수 없습니다. 'serverfolder'에는 무엇이 들어 있습니까? – alexvassel
코드 자체에서 연결이 이루어지지 않습니다. 장고 프로젝트는 C-s-001에 있습니다. 실행 중일 때 \\ C-s-002 \\ Projects가 유효한 폴더가 아님을 알리는 오류가 발생합니다. – brunostuyts
다른 서버 (예 : ssh)에 연결하여 쉘 명령을 실행할 수있는 코드를 작성해야합니다. – alexvassel