rays

Screenshot Software:
rays
Szczegóły programowe:
Wersja: 0.4.1
Filmu: 14 Apr 15
Wywoływacz: Yusuke Inuzuka
Licencja: Wolny
Popularność: 5

Rating: 2.0/5 (Total Votes: 1)

promienie jest WSGI kompatybilny ramy internetowa zaprojektowana dla małych aplikacji internetowych. Obsługuje zarówno Python 2.7 i Python 3.2. Promienie obsługuje wielobajtowe-charcters prawidłowo (Ważne jest dla mnie, więc jestem japoński).
instalacji
easy_install promienie
lub
pip install -e git: //github.com/yuin/rays.git#egg=rays
lub pobrać plik zip z https://github.com/yuin/rays/zipball/master i
python setup.py install
Przykład
Możesz znaleźć te kod źródłowy w próbkach / katalogu src / blog.
index.py:
od promieni import *
z rays.compat import *
import sys, os.path, matematyka, contextlib
z datetime import datetime
Import gwintowania
app = Application ()
Przenieść ją do app_dir = os.path.dirname (__ FILE__)
DB_FILE = os.path.join (przenieść ją do app_dir "test.db")
c = threading.local ()
app.config ([
& Nbsp; ("debug", prawda),
& Nbsp; ("renderer", {"template_dir": os.path.join (przenieść ją do app_dir, "szablony"),
& Nbsp; "cache_dir": os.path.join (przenieść ją do app_dir, "templates / cache")}),
& Nbsp; ("DatabaseExtension", {"Połączenie": DB_FILE, "transakcja": "commit_on_success"}),
& Nbsp; ("SessionExtension", {"magazyn": "bazy danych", "tajne": "asdfeE305Gs0lg",
& Nbsp; "cookie_path": "admin"}),
& Nbsp; ("StaticFileExtension", {"url": "statyka /", "Droga": os.path.join (przenieść ją do app_dir, "Statyka")}),
& Nbsp; ("nazwa_administratora", "admin"),
& Nbsp; ("hasło_administratora", "hasło"),
& Nbsp; ("blog_title", "Mój blog"),
& Nbsp; ("entry_per_page", 3),
])
Klasa BaseModel (model): # {{{
& Nbsp; def class_init (CLS):
& Nbsp; Model.class_init (CLS)
& Nbsp; @ cls.hook ("before_create")
& Nbsp; def before_create (self):
& Nbsp; self.created_at = DateTime.Now ()
#}}}
Klasa wprowadzająca (BaseModel): # {{{
& Nbsp; TABLE_NAME = "wpisy"
& Nbsp; def potwierdzić (self):
& Nbsp; wynik = []
& Nbsp; jeśli nie self.title: result.append (". Wymagane Tytuł")
& Nbsp; len (self.title)> 100: result.append ("Tytuł zbyt długo.")
& Nbsp; len (self.title) <2: result.append (". Tytuł jest za krótka")
& Nbsp; jeśli nie self.body: result.append (". Wymagane Body")
& Nbsp; return result
#}}}
# filtry {{{
context_setup_filter def (*, ** k):
& Nbsp; c.title = app.vars.blog_title
& nbsp; c.errors = []
& Nbsp; wydajność
admin_filter def (*, ** k):
& Nbsp; jeśli nie app.session ["logować"]:
& Nbsp; app.res.redirect (app.url.admin_signin ())
& Nbsp; wydajność
flash_filter def (*, ** k):
& Nbsp; dyr = app.session ["logować"]
& Nbsp; dyr:
& Nbsp; app.session ["błysku"] = app.session ["błysku"] lub {}
& Nbsp; klucze = list (iter_keys (app.session ["błysku"]))
& Nbsp; wydajność
& Nbsp; dyr:
& Nbsp; na klucz w klawisze: del app.session ["Flash"] [key]
#}}}
# pomocnicy {{{
@ App.helper
@ Contextlib.contextmanager
main_block def (pomocnik):
& Nbsp; helper.concat ("

")
& Nbsp; z helper.capture ("__ main_block"):
& Nbsp; wydajność
& Nbsp; helper.concat (helper.captured ("__ main_block"))
& Nbsp; helper.concat ("
")
@ App.helper
show_errors def (pomocnicze, błędy):
& Nbsp; błędy:
& Nbsp; helper.concat ("
Błąd:
    ")
    & Nbsp; do błędu błędów:
    & Nbsp; helper.concat ("
  • " + błąd + "
  • ")
    & Nbsp; helper.concat ("
")
@ App.helper
show_message def (pomocnik, komunikat):
& Nbsp; wiadomości:
& Nbsp; helper.concat ("
")
& Nbsp; helper.concat (komunikat)
& Nbsp; helper.concat ("
")
@ App.helper
def format_datetime (pomocnik, dt):
& Nbsp; powrócić dt.strftime ("..% M% d% r /% I% p% Z") niższa ().
@ App.helper
def hatom_published (pomocnik, wpis):
& Nbsp; return "" "% s " ""% (entry.created_at.isoformat (), helper.format_datetime (entry.created_at))
@ App.helper
format_body def (pomocnik, ciała):
& Nbsp; body.replace powrotu (" n", "
")
@ App.helper
page_link def (pomocnik, strona):
& Nbsp; "? Strona =% d" app.url.index powrotu () +% strona
@ App.helper
paginacja def (pomocnik, hrabia, strona):
& Nbsp; page = int (strona)
& Nbsp; n = app.vars.entry_per_page
& Nbsp; tpl = ["

Komentarze do rays

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!