Форум сайта python.su
Вопрос несколько отличен от тематики фреймворков.
Моя текущая задача:
Есть некая база данных(mysql) нужно организовать кроссплатформенный доступ к ней приложению в возможностью визуального изменения параметров программы в том числе и ввод данных. Естественно еще и вывод результатов.
Прошу обратить внимание, что никакой модульности, возможности использовать различные веб движки не требуется. Супер авторизации, разграничения прав пользователей итд, красот, скинов, i18n, шаблонов итд итп.
Никаких жава аплетов и подобной ереси.
Все должно быть тупо и просто до безобразия.
Основные объекты на страничке, поле ввода, кнопка “Поехали”, чекбоксы, вывод таблицы.
SimpleHTTPServer, BaseHTTPServer позволят справиться?
Честно признаюсь тонкости веб программирования не знаю, был опыт с Plone - взрыв мозга.
В основном что мне требовалось раньше взял файлик, отпарсил данные, выходные данные в файлик.
Еще раз повторюсь нужен тупой ввод вывод данных через веб морду.
Офлайн
тебе как раз подойдет bottle :)
Офлайн
Спасибо, bottle похоже на то, что нужно. Постараюсь выложить свои изыскания на эту тему.
Офлайн
Итого:
Сайт - http://bottle.paws.de/
Требуется easy_install из пакета setuptools
Установка:
win32 лезем в “C:\Python26\Scripts> easy_install.exe bottle”
linux не смотря на то, что setuptools стоит нужен еще setuptools-devel
Саму страничку которую будем отдавать храним в отдельном HTML файле, т.к. в тексте программы не совсем удобно и думается верстка страничке удобней во внешнем WISWIG редакторе.
Не претендую на красоту кода, много чего можно написать короче.
# -*- coding: cp1251 -*-
import os,datetime
from bottle import request, response, run, route
#bottle.debug(True)
file_name = r"index.html"
f = open(file_name,'r')
page=''
for line in f.readlines(): page=page+line
f.close()
@route('/')
def main():
return page
@route('/', method='POST')
def main_post():
print request.POST
return 'DATA:' + str(request.POST) , request.POST['name'], str(page)
run(port=8080)
<form method="POST">
<input type="text" name="name"/>
<p>
<b>Каким браузером в основном пользуетесь:</b><Br>
<input type="radio" name="browser" value="ie"> Internet Explorer<Br>
<input type="radio" name="browser" value="opera"> Opera<Br>
<input type="radio" name="browser" value="firefox"> Firefox<Br>
</p>
<p>
<b>С какими операционными системамы вы знакомы?</b></p>
<p>
<input type="checkbox" name="item1" value="a1" checked>Windows 95/98<Br>
<input type="checkbox" name="item2" value="a2">Windows 2000<Br>
<input type="checkbox" name="item3" value="a3">System X<Br>
<input type="checkbox" name="item4" value="a4">Linux<Br>
<input type="checkbox" name="item5" value="a5">X3-DOS
</p>
<input type="submit"/>
</form>
Офлайн
вот так лучше:
# -*- coding: utf-8 -*-
import os,datetime
from bottle import request, response, run, route
@route('/')
def main():
return open("index.html",'r').read()
@route('/', method='POST')
def main_post():
page = open("index.html",'r').read()
return page.replace('<!--param1-->','you choice %s <br/>' % request.POST['name'])
run(port=8080)
<h2>Main page</h2>
<!--param1-->
<form method="POST">
<input type="text" name="name"/>
<p>
<b>Каким браузером в основном пользуетесь:</b><Br>
<input type="radio" name="browser" value="ie"> Internet Explorer<Br>
<input type="radio" name="browser" value="opera"> Opera<Br>
<input type="radio" name="browser" value="firefox"> Firefox<Br>
</p>
<p>
<b>С какими операционными системамы вы знакомы?</b></p>
<p>
<input type="checkbox" name="item1" value="a1" checked>Windows 95/98<Br>
<input type="checkbox" name="item2" value="a2">Windows 2000<Br>
<input type="checkbox" name="item3" value="a3">System X<Br>
<input type="checkbox" name="item4" value="a4">Linux<Br>
<input type="checkbox" name="item5" value="a5">X3-DOS
</p>
<input type="submit"/>
</form>
Офлайн
o7412369815963Спасибо!
ЗЫ: старайся использовать всегда utf-8, генерируй страницу и подключайся к БД внутри ф-ии отдачи контента иначе не будет работать в многопоточном режиме.
Офлайн
jingvar1. работаю в Apatna, с utf8 все норм, приложения работают одинаково и под линуксом и под виндой + весь мир потихоньку переходит на utf-8
Риску поспорить.
1. Я работаю в netbeans, под виндой оно utf8 не хочет, в данном случае дешевле оставить свойства проекта “cp1251”, т.к. на # -*- coding: оно не реагирует. А еще учитывая, что под виндой 2кодировки…
2. Оригинальный файл я подгружаю 1 раз, в вашем варианте при каждом обновлении странички дисковые операции???
3. Про replace это очень хорошо, а то я уже собрался исходный файл разбирать собирать.
4. Вообще я уже рою в сторону шаблонов :) хотя в итоге при выводе не шаблон, а динамически изменяемая страница в мое проекте.
Офлайн
jingvarПрекрасно хочет.
1. Я работаю в netbeans, под виндой оно utf8 не хочет, в данном случае дешевле оставить свойства проекта “cp1251”, т.к. на # -*- coding: оно не реагирует.
Офлайн
o7412369815963В Джанге никогда не было jinja.
она же и в Django по умолчанию только jinja1,
Офлайн
Daevaorn+1, джаговский шаблонизатор действительно очень похож на jinja1, но это не он.
В Джанге никогда не было jinja.
Офлайн