danışıqlar Python web applications üçün ağıllı, sadə content danışıqlar edir.
Məzmun danışıqlar yaxşı etmək üçün çətin ola bilər. İdeal halda, Sizin kodu DRY olmalıdır və müxtəlif formatlarda eyni domain obyekt buraxmaq üçün bir çox görünüş üsulları eyni köhnə boilerplate təkrar olmaz. danışıqlar avtomatik olaraq müştəri tərəfindən tələb formatında domen obyektlərin tərcümə Formatters ilə keçirmək üsulları bəzəmək üçün imkan sizin həyat daha asan edir.
Bu istifadə etmək üçün həqiqətən sadə. İnşallah (a Flask proqram üçün) bu nümunə əsas xal izah edir:
# Birincisi, biz tərcümə necə müəyyən Formatters bir neçə yazmaq
Xüsusi formata keçirmək funksiyası # çıxdı. Burada biz müəyyən
# JSON formatter və şablon parametri edir ki, bir HTML formatter.
negotiate.flask idxal biçimlendiriciler dən
class JSONFormatter (formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['tətbiqi / json']
& Nbsp; def göstərmək (özünü, obj):
& Nbsp; qaytarılması json.dumps (obj)
sinif HTMLFormatter (formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['text / html]
& Nbsp; def (özünü, şablon) konfiqurasiya:
& Nbsp; self.template = şablon
& Nbsp; def göstərmək (özünü, obj):
& Nbsp; göstərməyə geri (self.template ** obj)
Proqram tikinti zaman # Daha sonra, biz keçirmək funksiyası bəzəyəcək
# Bu fikir mövcud olan formatları listing decorator "müzakirə".
negotiate.flask idxal danışıqlar
@ App.route ('/ posts /
@ App.route ('/ posts /
negotiate (JSONFormatter)
negotiate (HTMLFormatter, şablon = 'post.html)
def view_post (id, format = None):
& Nbsp; post = Posts.by_id (id)
& Nbsp; post None əgər:
& Nbsp; (404) abort
& Nbsp; ('oxu' post) g.user.authorize əgər:
& Nbsp; (401) abort
& Nbsp; qaytarılması {'post: post}
Nəticədə ismarıcları post bir HTML versiyası qayıdacaq bir görünüşü fəaliyyət (yəni qəbul: * / * və aydın format) Html uzadılması aydın müəyyən və ya post bir JSON versiyası əgər əgər, və ya .json uzadılması verilmiş və ya qəbul edir: application / json tələbi ilə göndərilir.
Support
digər web çərçivəsində üçün dəstək əlavə olduqca asan olmalıdır, baxmayaraq ki, hazırda Flask və Pylons dəstəkləyir danışıqlar. Tələb olunan inteqrasiya kodu kiçik məbləği görmək / pylons.py da / flask.py danışıqlar bir göz var və danışıqlar
tələblər .
- Python
Şərhlər tapılmadı