Uliweb é uma multi-plataforma, projeto de software de código aberto, fácil de usar e simples projetado para agir como um framework de desenvolvimento web para a construção de aplicações baseadas na web em sistemas operacionais tradicionais. É facilmente extensível, flexível, implantável, bem como em várias plataformas. Ele vem com bastante código de amostra e documentation.Features legíveis em uma características glanceKey incluem um MVT (Model Template View) modelo de desenvolvimento, poderoso e mapeamento de URL flexível, modo de execução ambiente, ORM, I18n, extensões integradas (expedição, middleware, etc.), ferramentas de linha de comando, suporte para mod_wsgi em Apache, suporte para uwsgi, um servidor de desenvolvimento, e uma maior depuração.
Além disso, oferece suporte para a organização de projetos, suporte para modelos de visualização, modo de execução ambiente, bem como a capacidade de dirigir código Python em um modelo. O aplicativo não está escrito a partir do zero, o que significa que ele é baseado em vários projetos existentes, incluindo Werkzeug e sqlalchemy.
Entre outras características, podemos citar o suporte para mod_wsgi em Apache, suporte para uwsgi, um servidor de desenvolvimento que recarrega automaticamente a cada vez que um módulo é modificado, suporte a depuração reforçada, uma extensão de expedição, uma extensão de middleware, e uma poderosa interface de linha de comando ( CLI) que permite que você crie projetos, aplicativos, arquivos estáticos exportação e construir um web desenvolvimento server.Under o capô e apoiado OSesThe software é inteiramente escrito na linguagem de programação Python, o que significa que ele será executado em qualquer sistema operacional do computador, onde Python está disponível e instalado. Ele foi testado com sucesso com muitos sabores GNU / Linux, bem como com os sistemas operacionais Microsoft Windows e Mac OS X. Uliweb só está disponível para download como um arquivo de origem, o que significa que o usuário precisa configurar e compilá-lo antes da instalação. É praticamente instalável em qualquer plataforma GNU / Linux, e pode ser encontrado nos repositórios das distribuições Linux selecionadas de software padrão, rodando em plataformas de 32-bit e 64-bit de hardware.
O que é novo nesta versão:
- modelo Fix config e adicionar suporte shell uwsgi
- Adicionar variáveis de ambiente apoiar em settings.ini. Por exemplo, há uma MYSQL_PORT definido no ambiente, para que possa definir algo em settings.ini:
- [default]
- port = $ MYSQL_PORT
- port_str = '$ {} MYSQL_PORT'
- $ MYSQL_PORT é o mesmo que $ {} MYSQL_PORT. Apenas quando a variável segue identificador, portanto $ {} pode separar facilmente entre eles.
- Adicionar configuração STATIC_COMBINE_CONFIG, você pode alternar combinação estática com ele. O padrão é False. A configuração é:
- [STATIC_COMBINE_CONFIG]
- enabled = false
- Corrigir objcache bug app, se não campos definidos nas configurações, ele vai usar todas as colunas da tabela
- Adicionar função get_table de funções, você pode usá-lo para obter a tabela de objeto. Usado em uliweb.contrib.tables app.
- Adicionar local_cache ao local na SimpleFrame, e ele pode ser usado para armazenar exigem valores de cache relativos, e ele vai estar vazio após cada processo exige.
- Melhorar get_object () em ORM, adicione parâmetro use_local, de modo que o valor em cache será verificado em local_cache em primeiro lugar, e também salvá-lo em local_cache quando obter um valor de cache ou banco de dados.
- Melhorar objcache formato de configuração, você também pode definir a tabela como esta:
- user = {'campos': ['username'], 'expirar': expire_time, "chave": exigível (instância) | key_field}
- #or
- user = ['username', 'apelido']
- #or
- user =
- Se não há campos definidos, ele vai usar todos os campos do Modelo. E se expirar é 0 ou não definido, não vai expirou em tudo.
- chave será usada para substituir id, se você quiser um outro valor fundamental, e pode ser também um objeto que pode ser chamado, ele vai receber uma instância de parâmetro Model, para que você possa criar qualquer valor de chave que você deseja.
- Adicionar suporte Optimistic Controle de Concorrência para ORM, por isso você deve definir a versão do campo pela primeira vez no modelo, então, quando você salvar o objeto, você deve usar:
- obj.save (occ = True)
- Se já existir outra operação salva o registro, ele vai gerar uma exceção SaveError por padrão, porque a versão foi alterada. Você também pode passar:
- occ_fieldname usado para definir a versão nome do campo, o padrão é a versão
- occ_exception usado para Exception habilitado levantada, o padrão é verdadeiro, se você configurá-lo False ele vai retornar False, mas não gerar uma exceção.
O que é novo na versão 0.2.4:
- Corrigir ORM não é compatível com SQLAlchemy 0.9.1 . Velho estilo:
- cond = None
- cond = (Blog.c.id == 5) & Nada
- não vai bem no 0.9.1, porque Nenhum não será ignorado, para que você possa alterar o código acima cond = None para:
- a partir de importação sqlalchemy.sql true
- cond = true ()
- a partir de importação uliweb.orm true
- cond = true ()
- adicionar __contains__ de funções, para que você possa testar se uma API já está definido, é só usar:
- 'flash' em funções
- Refact generic.py, remover dependências functions.flash e functions.get_fileserving por padrão.
- apoio rendimento Fix em função de visualização, você pode também usado no ambiente GEvent, por exemplo:
- expose ('/ test')
- teste def ():
- rendimento & quot; & quot;
- for i in range (10):
- rendimento & quot;% d & quot; % (I + 1)
- sono (1)
- rendimento & quot; & quot;
- Fix rawsql () bug para diferentes motor de banco de dados
- Fix jsonp () despeja caracteres chineses bug
- Adicionar trim_path () para utils / common.py, pode cortar um caminho de arquivo para comprimento limitado, por exemplo:
- & gt; & gt; & gt; a = '/project/apps/default/settings.ini'
- & gt; & gt; & gt; trim_path (a, 30)
- '... / apps / default / settings.ini'
- comprimento limitado padrão é 30.
- Adicionar ORM conexão de saída de informações quando determinada opção -v na linha de comando. E a senha será substituir por '*'. Por exemplo:
- $ & gt; uliweb syncdb -v
- Conexão: mysql: // blog:? *** @ Localhost / blog charset = utf8
- [default] Criando [1/1, blogue] blog ... EXISTIU
- Adicionar suporte de aplicativos para múltiplos comando MakeApp, assim você pode usar:
- uliweb MakeApp a b c
- para criar a, b, c aplicativos ao mesmo tempo tempo.
- Refactor save_file () processo, adicionar cabeçalhos e conversores parâmetro.
- cabeçalhos usadas para criar cabeçalho csv em vez de usar o nome da coluna, mas você pode criar nome de alias como este:
- User.c.username.label (u & quot; Nome & quot;)
- e conversores usado para converter o valor da coluna, por exemplo:
- nome def (valor, data):
- & quot; & quot; & quot;
- valor é o valor da coluna
- dados é o objeto registro atual
- & quot; & quot; & quot;
- valor de retorno + 'test'
- save_file (do_ (select ([User.c.name])), 'Test.CSV', conversores = {'nome': name})
- Fix call_view () invocar wrap_result bug. Faltando parâmetro manipulador passe para wrap_result.
Requisitos :
- Python
Comentários não encontrado