Hướng dẫn pyramid python - trăn kim tự tháp

Lựa chọn phát triển web với Python: Django, Flask hay Pyramid

Khi nói tới Python, chắc không phải nghĩ nhiều mọi người sẽ nghĩ tới Machine Learning - một trong nhưng hot trend 2017. Tuy vậy, Python cũng là một ngôn ngữ lập trình đa năng có thể ứng dụng vào rất nhiều lĩnh vực khác nhau.

Nội dung chính

  • Lựa chọn phát triển web với Python: Django, Flask hay Pyramid
  • Introduction
  • Bootstrapping Code layout
  • Flexibility
  • Pinterest, Instagram, Bitbuckit, Disqus, Spotify, Firefox, Zapier, LiveCoding...

Trong các hệ thống, python được dùng để viết các script cho mục đích khác nhau liên quan tới file, monitor. Trong phát triển game, Python cũng có những framework dành riêng cho việc này. Hay nói tới các hệ thống cloud, người ta có thể nhắc tới OpenStack, cái tên đình đám có thể sánh ngang với VMWare vCloud.

Còn về phát triên web, Python thực sự không mạnh bằng PHP. PHP sinh ra để phát triển web, số lượng framework, cms PHP để phát triển web có thể khiên người dùng Python thấy thèm thuồng. Tuy vậy, không hẳn là Python quá yếu thế. Một số cái tên có thể tới để xây dựng web bằng Python như Django, Flask, Pyramid, Tornado...

Bài viết giới đây, mình sẽ so sánh ngắn gọn giữa 3 framework: Django, Flask, Pyramid để các bạn có thể tùy lựa chọn cho dự án web Python của bạn

Hướng dẫn pyramid python - trăn kim tự tháp

Overview

Django là

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
5 viết bằng Python, follow theo
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
6 (MVT). Các phiên bản được maintained bới Django Software Foundation. Phiên bản đầu tiên phát hành vào năm 2005, cách đây 12 năm. Phiên bản hiện thời tính tới thời điểm 01/11/2017 là 1.11.7. Trang chủ là https://www.djangoproject.com/

Flask là

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
7 base từ lib Werkzeug và Jinja2. Werkzeug là một WSGI utility library for Python, được sử dụng rộng rãi với
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
8. Jinja2 là một full template engine. Phiên bản đầu tiên ra mắt vào 01/04/2010 bởi
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
9 dưới
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
8. Phiên bản hiện tại tính tới thời điểm bài viết là 0.12.2. Trang chủ là http://flask.pocoo.org/

Pyramid là một

$django-admin startproject hello_django # tạo project
$django-admin startapp first_app # tạo app
1 viết bằng Python. Phiên bản đầu tiên được ra mắt sớm hơn cả Django, vào 09/2005. Pyramid được phát triển dưới tên dự án

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
0 với
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
8.

Introduction

Bootstrapping Code layout

Flexibility

Pinterest, Instagram, Bitbuckit, Disqus, Spotify, Firefox, Zapier, LiveCoding...

Trong các hệ thống, python được dùng để viết các script cho mục đích khác nhau liên quan tới file, monitor. Trong phát triển game, Python cũng có những framework dành riêng cho việc này. Hay nói tới các hệ thống cloud, người ta có thể nhắc tới OpenStack, cái tên đình đám có thể sánh ngang với VMWare vCloud.

Còn về phát triên web, Python thực sự không mạnh bằng PHP. PHP sinh ra để phát triển web, số lượng framework, cms PHP để phát triển web có thể khiên người dùng Python thấy thèm thuồng. Tuy vậy, không hẳn là Python quá yếu thế. Một số cái tên có thể tới để xây dựng web bằng Python như Django, Flask, Pyramid, Tornado...

Bài viết giới đây, mình sẽ so sánh ngắn gọn giữa 3 framework: Django, Flask, Pyramid để các bạn có thể tùy lựa chọn cho dự án web Python của bạn

Bootstrapping Code layout

Flexibility

$django-admin startproject hello_django # tạo project
$django-admin startapp first_app # tạo app

Pinterest, Instagram, Bitbuckit, Disqus, Spotify, Firefox, Zapier, LiveCoding...

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations

Trong các hệ thống, python được dùng để viết các script cho mục đích khác nhau liên quan tới file, monitor. Trong phát triển game, Python cũng có những framework dành riêng cho việc này. Hay nói tới các hệ thống cloud, người ta có thể nhắc tới OpenStack, cái tên đình đám có thể sánh ngang với VMWare vCloud.

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
3.

Còn về phát triên web, Python thực sự không mạnh bằng PHP. PHP sinh ra để phát triển web, số lượng framework, cms PHP để phát triển web có thể khiên người dùng Python thấy thèm thuồng. Tuy vậy, không hẳn là Python quá yếu thế. Một số cái tên có thể tới để xây dựng web bằng Python như Django, Flask, Pyramid, Tornado...

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
4:
$pcreate -s starter hello_pyramid

Flexibility

Pinterest, Instagram, Bitbuckit, Disqus, Spotify, Firefox, Zapier, LiveCoding...

Trong các hệ thống, python được dùng để viết các script cho mục đích khác nhau liên quan tới file, monitor. Trong phát triển game, Python cũng có những framework dành riêng cho việc này. Hay nói tới các hệ thống cloud, người ta có thể nhắc tới OpenStack, cái tên đình đám có thể sánh ngang với VMWare vCloud.

Còn về phát triên web, Python thực sự không mạnh bằng PHP. PHP sinh ra để phát triển web, số lượng framework, cms PHP để phát triển web có thể khiên người dùng Python thấy thèm thuồng. Tuy vậy, không hẳn là Python quá yếu thế. Một số cái tên có thể tới để xây dựng web bằng Python như Django, Flask, Pyramid, Tornado...

Pyramid giống Django là based on MVC. Nó tực sự là tuyệt vời khi xét về tính

$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
6. Nó bao gồm: template rendering system, connecting database, mapping urls to views, authentication system...

Templating

Django mặc định configured sử dụng template engine của Django. Tuy nhiên, bạn có thể thay thế hoặc kết hợp với một engine template khác như Jinj2 một cách rất dễ dàng.

Flask sử dụng Jinja2 là template engine mặc định.

Pyramid sử dụng Chameleon template engine.

Jinja2 và Django Template khá giống nhau ở nhiều điểm, nên người dùng dễ tiếp cận, sử dụng kết hợp chúng trong Django hoặc Flask. Trong khi đó, với Pyramid bạn cần có thời gian làm quen với nó.

Other

DjangoFlaskPyramid
Admin Interface Yes No No
SQLAlchemy Support Yes. Có thể sử dụng kết hợp SQLAlchemy và Django ORM Yes Yes
No SQLAlchemy Support Yes. Có thể sử dụng kết hợp SQLAlchemy và Django ORM Documentation
Tài liệu offical rất cơ bản, dễ hiểu. Ngoài ra rất nhiều nguồn tutorial bên ngoài. Tài liệu offical vô cùng dễ hiểu cho người mới bắt đầu. Nó được đánh giá dễ tiếp cận nhất so với Django và Pyramid Tài liệu Pyramid khá là ít tuy nghiên rất dễ đọc API RESTful Web Service
Django đi kèm với nhiều lib hỗ trợ việc phát triển API một cách dễ dàng như
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
7,
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
8 ... cùng với rất nhiều tài liệu hữu ích và cộng đồng rộng lớn
Việc tạo RESTful API với flask
$python manage.py dumpdata > datadump.json 
$python manage.py loaddata  datadump.json 
$python manage.py migrate 
$python manage.py makemigrations
9 với
$pcreate -s starter hello_pyramid
0,
$pcreate -s starter hello_pyramid
1...
Bạn có thể phát triển API, nhưng sẽ vất vả hơn so với Flask và Django Website used

Pinterest, Instagram, Bitbuckit, Disqus, Spotify, Firefox, Zapier, LiveCoding...

Reddit, Mailgun,Twilio ...

SurveyMonkey, Reddit ...

.

Conclusion

Với Django bạn sẽ có cái gì cũng nhiều: cộng đồng, tài liệu, hộ trợ ... Django phù hợp với việc phát triển nhanh một ứng dụng web ở mọi cấp độ từ bé cho tới lớn. Tuy vậy, nếu bạn là new dev Python, Django không nên là sự lựa chọn.

Với Flask, bạn sẽ phải code rất nhiều. Nó phù hợp để bạn xây dựng những ứng dụng nhỏ hơn. Hay bạn muốn xây dựng theo hệ thống của riêng mình. Nếu bạn là new dev hãy đến với Flask. Tuy vậy, nên bạn muốn nghĩ là điều gì đó lớn lao bằng Flask, bạn cần thực sự

$pcreate -s starter hello_pyramid
2 .