Подтвердить что ты не робот

Django + Pydev/Eclipse + Google App Engine - возможно?

Кто-нибудь мог заставить Google App Engine/Django работать в Pydev/Eclipse? Я пробовал это, но с трудом получал Pydev, чтобы распознать все связанные с внешним доступом папки (плагины django), на которые я ссылался. Я закончил копирование всех этих папок в проект в массовом порядке, вместо того, чтобы ссылаться на них, что привело к массовой раздутой папке проекта - это было действительно неработоспособное решение, которое в конечном итоге заставило меня отказаться от всего проекта. Итак, мне интересно, пытался ли кто-нибудь это или не знал, что я мог делать неправильно. (Имейте в виду, что это была моя первая попытка использовать Pydev, Django, App Engine и Python!!)

4b9b3361

Ответ 3

В этом руководстве показано, как настроить Aptana (с установленным PyDev) как платформу для кодирования и отладки для AppEngine. Аналогично, вы можете добавить библиотеки Django в Aptana тоже.

http://www.alishabdar.com/2009/05/06/develop-google-appengine-with-aptana-studio/

Ответ 4

На этот вопрос не было ответа какое-то время, и все изменилось, поэтому я подумал, что буду предлагать и обновлять.

PyDev теперь включает конфигурацию Google App Engine из коробки, и вы можете отлаживать и запускать проекты GAE из коробки, включая Django.

Просто установите GAE и новейший Eclipse/PyDev на свой компьютер, затем создайте проект GAE и укажите PyDev в своих версиях Python и Google App Engine.

Ответ 5

Я первоначально связался с этот учебник. Pydev теперь поддерживает Django, поэтому это, вероятно, менее актуально. Это может быть полезно для выяснения того, как заставить всех работать вместе. Вы также можете попробовать этот пост в блоге.

Ответ 6

appengine 1.31
Django 1.1
pydev 1.5.4
OS Ubuntu 9.10


Файл eclipse.pydevproject:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<pydev_variables_property name="org.python.pydev.PROJECT_VARIABLE_SUBSTITUTION">
<key>GOOGLE_APP_ENGINE</key>
<value>/home/elvis/google_appengine</value>
</pydev_variables_property>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/pythonleggo</path>
</pydev_pathproperty>
<pydev_pathproperty name="org.python.pydev.PROJECT_EXTERNAL_SOURCE_PATH">
<path>${GOOGLE_APP_ENGINE}</path>
<path>${GOOGLE_APP_ENGINE}/lib/webob</path>
<path>${GOOGLE_APP_ENGINE}/lib/yaml/lib</path>
</pydev_pathproperty>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
</pydev_project>

Файлы:

папка проекта eclipse
- app.yaml
- index.yaml
- init.py
- main.py
- manage.py
-.project
-.pydevproject
- settings.py(невозможно загрузить) - urls.py


main.py:

from google.appengine.dist import use_library  
use_library('django', '1.1')  

from django.conf import settings

settings.configure(
DEBUG=True,
TEMPLATE_DEBUG=True,
ROOT_URLCONF = 'urls',
PROJECT_NAME = 'pythonleggo',
SETTINGS_MODULE = '.settings',
ADMINS = ('elvis', '[email protected]'),
LANGUAGE_CODE = 'en-us',
SITE_ID = 1,
USE_I18N = True,
MEDIA_ROOT = '',
MEDIA_URL = '',
ADMIN_MEDIA_PREFIX = '/media/',
SECRET_KEY = 'shhh',
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source'),
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware'),

TEMPLATE_DIRS=('/home/jmurphy/workspace/pythonleggo/templates'),
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites')
)

#os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
from google.appengine.ext.webapp import util

def main():
    # Run Django via WSGI.
    application = django.core.handlers.wsgi.WSGIHandler()
    util.run_wsgi_app(application)
if __name__ == ' __main__':
    main()

Запуск eclipse:
/usr/bin/python 2.6 -u/home/elvis/google_appengine/dev_appserver.py

PYTHONPATH, который будет использоваться:

/home/elvis/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/org.python.pydev_1.5.4.2010011921/PySrc/pydev_sitecustomize:/home/elvis/workspace/pythonleggo:/home/elvis/google_appengine:/Главная/Элвиса/google_appengine/Library/WebOb:/Главная/Элвиса/google_appengine/Library/YAML/Библиотека:/usr/lib/pymodules/python2.6:/usr/lib/pymodules/python2.6/gtk- 2.0:/usr/lib/python2.6:/usr/lib/python2.6/dist-packages:/usr/lib/python2.6/dist-packages/PIL:/usr/lib/python2.6/dist- пакеты/GST-0,10:/usr/lib/python2.6/dist-packages/gtk-2.0:/usr/lib/python2.6/lib-dynload:/usr/lib/python2.6/lib-old:/USR/Library/python2.6/Lib-ки:/usr/lib/python2.6/plat-linux2:/usr/local/lib/python2.6/dist-packages


Я не смог загрузить файл настроек с помощью os.environ ['DJANGO_SETTINGS_MODULE'] = 'settings'. Похоже, он был отделен от среды, которую получил джанго. Я использовал settings.configure, который, похоже, работал правильно. На данный момент у меня есть только загрузка страницы django по умолчанию в appspot.

Ответ 7

Я только что начал с Python и Google App Engine. Я думаю, что мы оба ударили головой о ту же стену с помощью внешних ссылок.

Я попробовал развернуть проект google-app-engine-django для моего приложения. Я извлек все, и у меня под моим корнем папка /appengine _django и/django.

Я добавил их в качестве исходных папок, и я добавил папку /google _appengine/google в качестве внешней ссылки.

Обычно все это имело смысл для меня. Каждый из них содержал модуль __ init __.py. Тем не менее, когда я пытался ctr + щелкнуть по любому из операторов импорта, он не смог разрешить путь к модулям.

Поразительно, вы не импортируете прямую папку, содержащую __ init __.py. Чтобы правильно ссылаться на пакеты, вы импортируете родительскую папку, содержащую пакет duh! Это также означает, что, поскольку я не хотел использовать папку /src, фактическая папка проекта должна быть добавлена ​​в качестве исходной ссылки, чтобы получить /appengine _django и/django для распознавания в качестве исходных папок.

С этим все работает гладко. Я предполагаю, что это покажет, что я больше читаю, чтобы сделать на Py.

Ответ 8

Вот еще один учебник, который может помочь.
Версия eclispe может быть немного старой, но она должна получить вас достаточно далеко, чтобы получить рабочий проект.

http://django-appengine.com/contents

У него есть полное затмение, установленное
http://django-appengine.com/post/37462709481/
http://www.mkyong.com/google-app-engine/google-app-engine-python-hello-world-example-using-eclipse/

У него есть полный набор gae
http://django-appengine.com/post/37615321945/

В нем установлено полное django
http://django-appengine.com/post/37628665099/

И затем объясняется, как объединить эти два проекта в один проект gae.
http://django-appengine.com/post/37778427717/

Я надеюсь, что это поможет другим, кто только начинает