Django + Механизм Приложения Google Pydev/Eclipse + - возможный?

Вместо использования файлов конфигурации вы можете использовать базу данных конфигурации с таблицей systemConfig и добавить все свои настройки там.

CREATE TABLE [dbo].[SystemConfig]  
    (  
      [Id] [int] IDENTITY(1, 1)  
                 NOT NULL ,  
      [AppName] [varchar](128) NULL ,  
      [ScopeName] [varchar](128) NOT NULL ,  
      [Key] [varchar](256) NOT NULL ,  
      [Value] [varchar](MAX) NOT NULL ,  
      CONSTRAINT [PK_SystemConfig_ID] PRIMARY KEY NONCLUSTERED ( [Id] ASC )  
        WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,  
               IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,  
               ALLOW_PAGE_LOCKS = ON ) ON [PRIMARY]  
    )  
ON  [PRIMARY]  

GO  

SET ANSI_PADDING OFF  
GO  

ALTER TABLE [dbo].[SystemConfig] ADD  CONSTRAINT [DF_SystemConfig_ScopeName]  DEFAULT ('SystemConfig') FOR [ScopeName]  
GO 

С такой конфигурационной таблицей вы можете создавать такие строки: enter image description here [/g0]

Затем из вашего приложения dal (s) wrapping EF вы можете легко получить облачную конфигурацию. Если вы не используете dal (s) и работаете в проводнике напрямую с EF, вы можете сделать Entity из таблицы SystemConfig и использовать значение в зависимости от приложения, в котором вы находитесь.

17
задан 9 February 2009 в 00:40
поделиться

6 ответов

Я лично не настроил его, но я действительно видел это учебное руководство о том, как сделать это:

http://code.google.com/appengine/articles/eclipse.html

9
ответ дан 30 November 2019 в 13:13
поделиться

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

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

Я добавил их как исходные папки, и я добавил/google_appengine/google папку как внешнюю ссылку.

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

Поразительно, Вы не импортируете непосредственную папку, которая содержит __ init __. py. К правильно ссылочным пакетам Вы импортируете родительскую папку, которая содержит пакет понятное дело! Это также означает, что, так как я не хотел использовать/src папку, фактическая папка проекта должна быть добавлена как исходная ссылка, чтобы заставить/appengine_django и/django быть распознанным как исходные папки.

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

1
ответ дан 30 November 2019 в 13:13
поделиться

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

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

3
ответ дан 30 November 2019 в 13:13
поделиться

Pydev 1.4.6 (still only available in the nightly builds) has some special support to easy in the configuration. See: http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html

5
ответ дан 30 November 2019 в 13:13
поделиться

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

2
ответ дан 30 November 2019 в 13:13
поделиться

appengine 1.31
Django 1.1
pydev 1.5.4
ОС Ubuntu 9.10


файл проекта eclipse .pydev:

<?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
{ {1}} - 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', 'elvis@gmail.com'),
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 run:
/ usr / bin / python2.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: / home / elvis / google_appengine / lib / lib / : / home / elvis / google_appengine / lib / yaml / lib: /usr/lib/pymodules/python2.6: /usr/lib/pymodules/python2.6/gtk-2.0: /usr/lib/python2.6: / usr / lib / python2.6 / dist-пакеты: / u SR / lib / python2.6 / dist-packages / PIL: /usr/lib/python2.6/dist-packages/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/lib/python2.6/lib-tk:/usr/lib/python2.6/plat-linux2: /usr/local/lib/python2.6/dist-packages


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

2
ответ дан 30 November 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: