Миграция приложения Django к Google App Engine?

Я видел эту библиотеку:

ffmpeg-резкий библиотека-оболочка по мультимедийному комплекту FFmpeg, который обеспечивает простые в использовании обертки для использования в C#.

9
задан avakar 12 July 2009 в 23:40
поделиться

4 ответа

Большая часть (все?) Django доступна в GAE, поэтому ваш основная задача - избежать того, чтобы ваши проекты основывались на использовании чего-либо из Django или стандартных библиотек Python, которые недоступны в GAE.

Вы определили очевидное различие, которым является база данных, поэтому я предполагаю, что вы ' re на вершине этого. Еще одно отличие заключается в привязке к учетным записям Google и, следовательно, в том, что при желании вы можете в значительной степени управлять доступом через файл app.yaml, а не в коде. Ты не Тем не менее, я должен использовать что-либо из этого, поэтому, если вы не планируете переключаться на учетные записи Google при переходе на GAE, нет проблем.

Я думаю, что различия в стандартных библиотеках можно в основном вывести из того факта, что GAE не имеет ввода-вывода и библиотек с ускорением на C, если явно не указано иное, и мой опыт показывает, что вещи, которые я ожидал там увидеть, были. Я не знаю Django и не использовал его в GAE (кроме шаблонов), поэтому я не могу это комментировать.

Лично я, вероятно, не стал бы таргетировать LAMP (где P = Django) с намерением переход на GAE позже. Я бы разрабатывал и то, и другое вместе и постараюсь, если возможно, сохранить различия в самом верху (конфигурация) и самом низе (модель данных). Версия GAE не обязательно должна быть идеальной, пока вы знаете, как сделать его идеальным, если он вам понадобится.

Не гарантируется, что это будет быстрее, чем написание, а затем перенос, но я предполагаю, что обычно так и будет. Самый простой способ обнаружить какие-либо различия - запустить код, а не полагаться на то, что ничего не упущено в документации GAE, так что вы, вероятно, сохраните некоторые ошибки, которые необходимо исправить. Python SDK является довольно хорошим приближением к реальному движку приложений, поэтому все или большинство ваших тестов большую часть времени можно запускать локально.

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

s не гарантируется, что это будет быстрее, чем написание, а затем перенос, но я предполагаю, что это обычно будет. Самый простой способ обнаружить какие-либо различия - запустить код, а не полагаться на то, что ничего не упущено в документации GAE, так что вы, вероятно, сохраните некоторые ошибки, которые необходимо исправить. Python SDK является довольно хорошим приближением к реальному движку приложений, поэтому все или большинство ваших тестов большую часть времени можно запускать локально.

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

s не гарантируется, что это будет быстрее, чем написание и последующий перенос, но я предполагаю, что обычно так и будет. Самый простой способ обнаружить какие-либо различия - запустить код, а не полагаться на то, что в документах GAE ничего не пропустить, поэтому вы, вероятно, сохраните некоторые ошибки, которые необходимо исправить. Python SDK является довольно хорошим приближением к реальному движку приложений, поэтому все или большинство ваших тестов большую часть времени можно запускать локально.

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

вместо того, чтобы полагаться на то, что ничего не упущено в документации GAE, вы, вероятно, сохраните некоторые ошибки, которые необходимо исправить. Python SDK является довольно хорошим приближением к реальному движку приложений, поэтому все или большинство ваших тестов большую часть времени можно запускать локально.

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

вместо того, чтобы полагаться на то, что ничего не упущено в документации GAE, вы, вероятно, сохраните некоторые ошибки, которые необходимо исправить. Python SDK является довольно хорошим приближением к реальному движку приложений, поэтому все или большинство ваших тестов большую часть времени можно запускать локально.

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

8
ответ дан 2 November 2019 в 23:09
поделиться

По сути, вы измените базовый класс модели данных и некоторые API, если вы их используете (PIL, urllib2 и т. Д.).

Если ваша цель - движок приложений, я бы использовал помощник по движку приложений http://code.google.com/appengine/articles/appengine_helper_for_django.html . Он может запустить его на вашем сервере с файловой БД, а затем отправить его в движок приложения без изменений.

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

Есть несколько вещей, которые вы не можете делать в App Engine, но вы можете делать на своем собственном сервере, например, загружать файлы. В App Engine вам как бы нужно загрузить его и сохранить хранилище данных, что может вызвать несколько проблем.

В остальном это должно быть хорошо с презентационной частью. Есть ряд других мелочей, которые лучше использовать на вашем собственном выделенном сервере, но я думаю, что в конечном итоге многие из них появятся в App Engine

1
ответ дан 2 November 2019 в 23:09
поделиться

Похоже, вы знаете об основных ограничениях при создании / миграции приложения - о том, что AppEngine не поддерживает ORM Django.

Имейте в виду, что это влияет не только на код, который вы пишете сами, - он также ограничивает вашу способность использовать много существующего кода Django. Это включает в себя другие приложения (например, встроенные приложения для администрирования и авторизации) и функции на основе ORM, такие как общие представления .

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

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