Uliweb è un open source, cross-platform, facile da usare e semplice progetto software progettato per agire come un framework di sviluppo web per la creazione di applicazioni web-based su sistemi operativi tradizionali. È facilmente allungabile, flessibile, così come implementabile su varie piattaforme. Viene fornito con il codice di esempio abbastanza e documentation.Features leggibili a una funzionalità glanceKey includono un MVT (Model View Template) modello di sviluppo, potente e mappatura URL flessibili, modalità di esecuzione ambiente, ORM, I18n, estensioni built-in (spedizione, middleware, ecc), strumenti da riga di comando, il supporto per mod_wsgi in Apache, il supporto per uwsgi, un server di sviluppo, e una maggiore debugging.
Inoltre, fornisce sostegno ai progetti di organizzazione, il supporto per i modelli di visualizzazione, la modalità di esecuzione l'ambiente, così come la capacità di dirigere il codice Python in un modello. L'applicazione non è scritto da zero, il che significa che si basa su diversi progetti esistenti, tra cui Werkzeug e SQLAlchemy.
Tra le altre caratteristiche, si possono citare il supporto per mod_wsgi in Apache, il supporto per uwsgi, un server di sviluppo che ricarica automaticamente ogni volta che un modulo viene modificato, supporto per il debug avanzato, un'estensione spedizione, un'estensione middleware, e una potente interfaccia a riga di comando ( CLI) che permette di creare progetti, applicazioni, file statici di esportazione e costruire una rete di sviluppo server.Under il cofano e sostenuto OSesThe software è scritto interamente nel linguaggio di programmazione Python, il che significa che verrà eseguito su qualsiasi sistema operativo del computer in cui Python è disponibile e installato. E 'stato testato con successo con molti sapori GNU / Linux, così come con i sistemi operativi Microsoft Windows e Mac OS X. Uliweb è disponibile solo per il download come un archivio fonte, il che significa che l'utente deve configurare e compilarlo prima dell'installazione. E 'praticamente installabile su qualsiasi piattaforma GNU / Linux, e può essere trovato sul repository software di default di distribuzioni selezionate di Linux, in esecuzione su piattaforme a 32-bit e 64-bit di hardware.
Che cosa è nuovo in questa versione:
- template Fix config e aggiungere il supporto uwsgi shell
- Aggiungi variabili di ambiente supportano in settings.ini. Ad esempio, vi è un MYSQL_PORT definito in ambiente, in modo da poter definire qualcosa in settings.ini:
- [DEFAULT]
- port = $ MYSQL_PORT
- port_str = '$ {MYSQL_PORT}'
- $ MYSQL_PORT è uguale a $ {MYSQL_PORT}. Proprio quando la variabile segue identificativo, così $ {} può separare facilmente tra di loro.
- Aggiungi configurazione STATIC_COMBINE_CONFIG, è possibile alternare combinazione statica con esso. L'impostazione predefinita è False. La configurazione è:
- [STATIC_COMBINE_CONFIG]
- enabled = False
- Fissare objcache app bug, se non campi definiti nelle impostazioni, si useranno tutte le colonne della tabella
- Aggiungi funzione get_table alle funzioni, è possibile utilizzarlo per ottenere oggetto tabella. Utilizzato in uliweb.contrib.tables app.
- Aggiungi local_cache al locale in SimpleFrame, e può essere utilizzata per memorizzare richiedere valori di cache relativi, e sarà vuoto dopo ogni processo richiede.
- Migliorare la funzione ORM get_object (), aggiungere il parametro use_local, in modo che il valore memorizzato nella cache sarà controllato in local_cache prima, e anche salvarlo in local_cache quando ottenere un valore dalla cache o database.
- Tavolo Migliorare objcache formato config, è anche possibile definire in questo modo:
- user = {'campi': ['username'], 'scade': expire_time, 'chiave': callable (esempio) | key_field}
- #o
- user = ['username', 'soprannome']
- #o
- user =
- Se non campi definiti, si userà tutti i campi del modello. E se scadono è 0 o non definito, non sarà scaduto affatto.
- chiave sarà utilizzata per sostituire id, se volete un altro valore fondamentale, e può essere anche un oggetto richiamabile, si riceverà una istanza del parametro del modello, in modo da poter creare qualsiasi valore della chiave che si desidera.
- Aggiungi Optimistic supporto controllo della concorrenza per ORM, così si dovrebbe definire la versione campo prima in modello, poi, quando si salva l'oggetto, è necessario utilizzare:
- obj.save (OCC = True)
- Se è già altra operazione ha salvato il record, sarà sollevare un'eccezione SaveError per default, perché la versione è stata modificata. È inoltre possibile passare:
- occ_fieldname utilizzato per definire la versione fieldname, di default è la versione
- occ_exception utilizzato per Eccezione abilitato sollevata, di default è True, se si imposta False esso tornerà False, ma non sollevare un'eccezione.
Cosa c'è di nuovo nella versione 0.2.4:
- Fix ORM non è compatibile con SQLAlchemy 0.9.1 . Old style:
- cond = None
- cond = (Blog.c.id == 5) e None
- non sarà proprio in 0.9.1, perché None non verrà ignorato, in modo da poter cambiare il codice sopra cond = Nessuno per:
- da sqlalchemy.sql import true
- cond = true ()
- da uliweb.orm import true
- cond = true ()
- aggiungere __contains__ alle funzioni, in modo da poter verificare se un API è già definita, basta usare:
- 'flash' in funzioni
- Refact generic.py, rimuovere functions.flash e functions.get_fileserving dipendenze di default.
- supporto Fix rendimento in funzione di visualizzazione, è possibile anche utilizzare in ambiente gevent, per esempio:
- expose ('/ test')
- Test def ():
- yield & quot; & quot;
- for i in range (10):
- yield & quot;% d & quot; % (I + 1)
- sleep (1)
- yield & quot; & quot;
- Fix rawsql () bug per il motore di database diverso
- Fix jsonp () discariche caratteri cinese bug
- Aggiungi funzione trim_path () per utils / common.py, può tagliare un percorso di file di lunghezza limitata, per esempio:
- & gt; & gt; & gt; a = '/project/apps/default/settings.ini'
- & gt; & gt; & gt; trim_path (a, 30)
- '... / apps / default / settings.ini'
- default lunghezza limitata è di 30.
- Aggiungi collegamento ORM uscita informazioni quando somministrato opzione -v in linea di comando. E la parola d'ordine sarà sostituire con '*'. Ad esempio:
- $ & gt; uliweb syncdb -v
- Connessione: mysql: // blog: *** @ localhost / blog charset = utf8
- [default] Creare [1/1, blog] blog ... ESISTE
- Aggiungi il supporto di più applicazioni per il comando MakeApp, in modo da poter usare:
- uliweb MakeApp a b c
- per creare a, b, c applicazioni in una volta tempo.
- Refactor save_file () processo, aggiungere intestazioni e convertitori parametro.
- intestazioni usati per creare intestazione csv invece di utilizzare il nome della colonna, ma è possibile creare il nome alias come questo:
- User.c.username.label (u & quot; nome & quot;)
- e convertitori utilizzati per convertire il valore della colonna, per esempio:
- nome def (valore, dati):
- & quot; & quot; & quot;
- valore è il valore della colonna
- Dati è l'oggetto record corrente
- & quot; & quot; & quot;
- valore di ritorno + 'test'
- save_file (do_ (selezionare ([User.c.name])), 'test.csv', convertitori = {'name': nome})
- Fix call_view () richiamare wrap_result bug. Manca parametro handler passaggio wrap_result.
Requisiti :
- Python
I commenti non trovato