2013-01-03 45 views
5

Tôi đang cố triển khai ứng dụng Django của mình tới Google App Engine (GAE) theo this document. Tôi đã tạo và định cấu hình cá thể Google Cloud SQL, như được mô tả trong tài liệu đó. Tôi sử dụng PyCharm làm môi trường phát triển và tạo ra một dự án GAE với sự hỗ trợ của Django.Hỗ trợ Google App Engine và Django

Tôi đã định cấu hình máy chủ cục bộ để trỏ đến máy chủ GAE. Khi tôi cố gắng để khởi động máy chủ địa phương GAE trong PyCharm, nó nâng cao ngoại lệ trên một cơ sở dữ liệu không đúng cấu hình trong SETTINGS.PY:

google.appengine.ext.django.backends.rdbms' isn't an available database backend 

tôi có thể nhìn thấy từ stack trace rằng máy chủ địa phương đang sử dụng phiên bản Django trong /Library/Python/2.7/site-packages trong khi tôi giả sử nó nên sử dụng một trong /usr/local/google_appengine/lib.

Điều gì sẽ là cách tốt nhất để giải quyết vấn đề này vì tôi có các dự án Django khác cũng nên sử dụng phiên bản Django trong /Library/Python/2.7/site-packages? Nếu tôi sửa đổi PYTHONPATH của tôi để bao gồm phiên bản GAE của Django, liệu tất cả các dự án của tôi có tham chiếu phiên bản Django đó không?

CHỈNH SỬA: Để chính xác hơn, máy chủ cục bộ GAE khởi động tốt nhưng ném theo dõi ngăn xếp được đề cập khi tôi thực hiện tác vụ syncdb để cập nhật cơ sở dữ liệu của mình.

EDIT 2: Trong cài đặt PyCharm trong Python Interpreter, tôi thấy khả năng sửa đổi đường dẫn và thêm phiên bản Django 1.4 như được phân phối với GAE SDK. Khi tôi bắt đầu phát triển máy chủ GAE, tôi thực sự có thể nhìn thấy nó sử dụng phiên bản Django từ GAE SDK nhưng nó vẫn bị treo trên các định nghĩa cơ sở dữ liệu:

Error was: No module named google.appengine.ext.django.backends.rdbms.base 

EDIT 3: Tôi chạy vào vấn đề khi cố gắng triển khai một ứng dụng Django hiện có bằng cách sử dụng hướng dẫn. Xem this separate question.

+0

cách bạn cài đặt django-appengine? cách tốt nhất là sử dụng gói django-nonrel đã sửa đổi được liệt kê trong hướng dẫn –

+0

@SamueleMattiuzzo: Django hiện được đóng gói sẵn với GAE SDK. Tôi đã theo dõi tài liệu được liên kết từ Google Developers được cập nhật vào ngày 14 tháng 12 năm 2012, vì vậy, hãy phản ánh trạng thái gần đây. Phiên bản không liên quan của Django được nhắm vào BigData; phiên bản được mô tả trong tài liệu phải hỗ trợ Google Cloud SQL có quan hệ. – Roger

+0

Bạn có chạy MySQL cục bộ không? Nói cách khác, khi bạn chạy SDK, bạn có nhận được thông báo này "CẢNH BÁO 2013-01-04 01: 58: 04,612 rdbms_mysqldb.py:74] API rdbms không khả dụng vì không thể tải thư viện MySQLdb."? – Sologoub

Trả lời

11

Dường như cuộc gọi của PyCharms là syncdb đang sử dụng cài đặt Django sai. google.appengine.ext.django.backends.rdbms không phải là một phần của phân phối Django chính thức, nhưng nó là một phần của GAEs django. GAE django của tôi là trong /usr/local/google_appengine/lib/

Nếu bạn đang ở trên Linux/OS X bạn có thể thêm video này vào bạn .bashrc/.bash_profile và làm syncdb sử dụng này:

export GAE="/usr/local/google_appengine" 
export PYTHONPATH="$PYTHONPATH:$GAE:$GAE/lib/django_1_4" 
export PATH=${PATH}:$GAE/lib/django_1_4/django/bin/ 
export PATH=${PATH}:/usr/local/mysql/bin 

Tôi đã viết một tutorial about using Django with GAE and Google Cloud SQL. Có thể có một số thông tin liên quan ở đó.

+2

Hướng dẫn đó rất tốt! – Roger

+0

wow, cảm ơn rất nhiều, vui vì bạn thích nó.Tôi muốn được hạnh phúc nếu bạn có thể lây lan từ về nó ;-) – hansaplast

+1

@PhilippKeller hướng dẫn của bạn đã giúp rất nhiều cảm ơn bạn :) –

Các vấn đề liên quan