преговаря е добър, просто многоезично съдържание за Python уеб приложения.
Многоезично съдържание може да бъде трудно да се справят добре. В идеалния случай, вашия код трябва да бъде суха, и вие няма да се повтаря една и съща възраст шаблон в множество методи за виждане, за да излъчва същия домейн обекта в различни формати. преговаря помага да направят живота ви още по-лесно, като ви позволява да украсяват своите методи за разглеждане с форматиране, която автоматично превод на вашите обекти на домейни в искания формат от клиента.
Това наистина е много лесен за използване. Надяваме се този пример (за прилагане на стъкленицата) прави основните точки ясна:
# На първо място, ние напиши няколко форматиране, които определят как да се преведат
# Изход от функцията за оглед в определен формат. Тук ние се определи
# JSON форматиране и HTML форматиране, че отнема параметър шаблон.
от negotiate.flask внос Formatter
клас JSONFormatter (Formatter):
& Nbsp; формат = "JSON"
& Nbsp; mimetypes = ['заявление / JSON "]
& Nbsp; Def направи (самостоятелно, OBJ):
& Nbsp; връщане json.dumps (OBJ)
клас HTMLFormatter (Formatter):
& Nbsp; формат = "JSON"
& Nbsp; mimetypes = ['текст / HTML "]
& Nbsp; Def конфигуриране (самостоятелно, шаблон):
& Nbsp; self.template = шаблон
& Nbsp; Def направи (самостоятелно, OBJ):
& Nbsp; върне направи (self.template, ** OBJ)
# След това, когато изграждането на заявлението, украсяваме функцията виждането за
# "Преговаря" декоратор, листинг форматите, в които това мнение е налична.
от negotiate.flask внос преговаря
@ App.route ('/ мнения / <идентификатор> ")
@ App.route ('/ мнения / <идентификатор>. <Формат> ")
negotiate (JSONFormatter)
negotiate (HTMLFormatter, шаблон = 'post.html)
Def view_post (ID, формат = None):
& Nbsp; пост = Posts.by_id (ID)
& Nbsp; ако пост е None:
& Nbsp; абортира (404)
& Nbsp; ако не g.user.authorize ("чете", пост):
& Nbsp; абортира (401)
& Nbsp; връщане {"пост": пост}
Резултатът е действие оглед, че ще се върне на HTML версия на поста по подразбиране (т.е. с Accept: * / * и няма изрично формат), или ако .html разширение е изрично посочено, или JSON версия на длъжността, ако бъде на .json разширението се дава или приема: заявление / JSON е изпратен заедно с искането.
<Силен> Подкрепа
преговаря в момента поддържа колба и Пилони, въпреки добавянето на поддръжка за други уеб рамки трябва да е доста лесно. Да погледнем в преговаря / flask.py и договаряне / pylons.py да видите малкия размер на интеграция код изисква
<силни> Изисквания :.
<ул >
Коментари не е намерена