Google App Engine: обработчики и URL-адреса WSGI - PullRequest
6 голосов
/ 26 июля 2010

Я новичок в GAE и создаю приложение со структурой webapp.Мне было интересно, когда вы устанавливаете обработчики в своем app.yaml и когда вы определяете их в своем WSGI?

Сначала я подумал, что у вас есть только один главный файл main.py, на котором выполняется WSGIApplication, но я замечаю, что если вы хотите использовать авторизацию GAE, вы определяете ее в обработчиках.Значит, вы запускаете несколько приложений WSGIA?

Я читал документы "Требование входа в систему или статус администратора", и кажется, что у них разные приложения для разных ролей.

Может быть, что-то вроде этого?

- general.py - логин:
- user.py - логин: требуется
- admin.py: - логин: admin

Но, может быть, плохо иметьваши URL WSGI распространены повсюду?

Если я правильно помню, если вы запускаете django в GAE, вы указываете на один файл py и позволяете фреймворку обрабатывать все?

Я не хочуиспользовать Django, но было бы интересно узнать, есть ли у кого-нибудь советы / рекомендации по работе с url / hanlders с помощью веб-приложения?

1 Ответ

9 голосов
/ 26 июля 2010

Любой метод URL-маршрутизации приемлем.

маршрутизация URL на основе app.yaml
Если вы можете легко структурировать свое приложение так, чтобы оно использовало маршрутизацию app.yaml (и авторизацию), то стоит попробовать: кода будет меньше для отладки, тестирования и обслуживания.

Вот пример (от Google) с несколькими точками входа: http://google -app-engine-samples.googlecode.com / svn / trunk / gdata_feedfetcher /

Производительность должна быть выше при авторизации app.yaml: ваш скрипт Python не должен запускаться, чтобы определить, является ли пользователь администратором сайта.

одна таблица сопоставления URL
Если вашему приложению требуется нечто большее, чем базовая маршрутизация URL-адресов и авторизация, вы можете столкнуться с сравнительно редким app.yaml и использованием более крупной таблицы преобразования URL-адресов.

Например, вы хотите отобразить страницу для всех пользователей, но дополнительно хотите, чтобы для администратора отображалась ссылка «логин». Этот код (для простого блога) использует эту структуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...