Платформа веб-приложений Python для трудной связи DB/GUI?

Уровень API - это целочисленное значение, которое однозначно идентифицирует версию API-интерфейса каркаса, предлагаемую версией платформы Android.

blockquote>

У вас может быть новая версия Android с тем же API релиз как предыдущая версия.

Отъезд https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

11
задан Troels Arvin 4 September 2008 в 08:53
поделиться

5 ответов

web2py делает большую часть того, что Вы спрашиваете:

На основе типа поля и его блоков проверки допустимости это представит поле с соответствующим виджетом. Можно переопределить с

db.table.field.widget=...

и используйте сторонний виджет.

web2py имеет js к, блокирует пользователя от ввода нецелого числа в целочисленном поле или недвойного в двойном поле. время, дата и поля даты и времени имеют их собственные средства выбора. Они js работа проверки с (не вместо этого) серверной проверки.

Существует IS_EMPTY_OR(...) блок проверки допустимости.

DAL предотвращает Внедрения SQL, так как всего оставляют, когда входит в DB.

web2py предотвращает XSS, потому что в {{=variable}}, 'переменной' оставляют, если не указано иначе {{=XML (переменная)}} или {{ =XML (переменная, sanitize=True) }}

Сообщения об ошибках являются аргументами блоков проверки допустимости, например,

db.table.field.requires=IS_NOT_EMPTY(error_message=T('hey! write something in here'))

T для интернационализации.

5
ответ дан 3 December 2019 в 09:42
поделиться

Необходимо взглянуть на django и особенно его newforms и администраторские модули. Модуль newforms обеспечивает хорошую возможность сделать серверную проверку с автоматизированным поколением ошибочных сообщений/страницы для пользователя. Добавление ajax проверка также возможно

3
ответ дан 3 December 2019 в 09:42
поделиться

TurboGears в настоящее время использует SQLObject по умолчанию, но можно использовать его с SQLAlchemy. Они говорят, что следующая главная версия TurboGears (1.1) будет использовать SQLAlchemy по умолчанию.

1
ответ дан 3 December 2019 в 09:42
поделиться

Я полагаю, что модели Django не поддерживают составные первичные ключи (см. документацию). Но возможно можно ли использовать SQLAlchemy в Django? Поиск Google указывает, что Вы можете. Я не использовал Django, таким образом, я не знаю.

Я предлагаю, чтобы Вы смотрели на:

У меня нет глубоких знаний ни одного из проектов выше. Я нахожусь только в процессе попытки добавить что-то подобное одному из моих собственных приложений как, что упоминает исходный вопрос. Вышеупомянутый список является просто списком интересных проектов, через которые я споткнулся.

Относительно платформ веб-приложений для Python, я рекомендую TurboGears 2. Не то, чтобы у меня есть любой опыт с любой из других платформ, я точно так же, как TurboGears...

Если автор исходного вопроса находит решение, которое работает хорошо, обновите или ответьте на этот поток.

1
ответ дан 3 December 2019 в 09:42
поделиться

Я знаю, что Вы, которых специфика просит платформу, но я думал, что сообщу, о каком я добираюсь до сих пор. Я только что подвергся преобразованию веб-приложения моей компании от пользовательского внутреннего уровня ORM в sqlAlchemy, таким образом, я далек от эксперта, но что-то, что произошло со мной, было то, что sqlAlchemy имеет типы для всех атрибутов, которые это отображает от базы данных итак, почему бы не использовать это, чтобы помочь произвести правильный HTML на страницу. Таким образом, мы используем sqlAlchemy для бэкэнда и шаблоны Гепарда для фронтэнда, но все промежуточное является в основном нашим собственным все еще.

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

Шаг 1. Для каждого типа данных sqlAlchemy.types. ЦЕЛОЕ ЧИСЛО и т.д. Добавьте дополнительную функцию toHtml (или многие, возможно, toHTMLReadOnly, toHTMLAdminEdit безотносительно) и просто имейте тот возврат шаблон для HTML, теперь Вы не должны даже заботиться о том, какой тип данных Ваше отображение, если Вы просто хотите выложить целую таблицу, можно просто сделать (как шаблон гепарда или что когда-либо механизм шаблонной обработки).

Шаг 2

<table>

<tr>

#for $field in $dbObject.c:

<th>$field.name</th>

#end for

</tr>

<tr>

#for $field in dbObject.c:

<td>$field.type.toHtml($field.name, $field.value)</td>

#end for

</tr>

</table>

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

Шаг 3 Обнаруженный потребность в третьем шаге только в пятницу, требуемый для загрузки файлов, который, поскольку Вы знаете потребности больше затем просто текстовое поле значения по умолчанию типов данных varchar. Никакой пот, я просто переопределил класс строк в своем определении таблицы от VARCHAR до FilePath (VARCHAR), где единственной разницей был FilePath, имел другой toHtml метод. Работавший безупречно.

Однако если существует упакованный там, который делает, что Вы хотите, используйте это.

Отказ от ответственности: Этот код был написан из памяти после полуночи и вероятно привычка производит функционирующую веб-страницу.

1
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

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