Автор оригинала: Guest Contributor.
Краткий обзор веб-разработки на Python
Вступление
С 2003 года Python входит в топ-10 языков программирования для изучения, и с тех пор его рейтинг постоянно улучшается. По данным a statistic , Python входит в топ-5 языков для изучения в 2019 году и стал неотъемлемой частью сообщества программирования благодаря своей простоте, гибкости, надежности, простоте использования, совместимости, скорости и универсальности. Кроме того, технологические гиганты, такие как Instagram, Spotify и Google, по крайней мере частично, основывают свою архитектуру на Python.
Короче говоря, Python стал центральной фигурой мира программирования и бизнеса с появлением Силиконовой долины и плаката Уолл-стрит: Fintech . Причин много , но Python предлагает безопасность и масштабируемость, к которым стремится тенденция цифрового подхода, принятая значительной частью бизнеса и финансового сектора.
Хотя Python можно использовать для выполнения различных задач, начиная от машинного обучения и науки о данных и заканчивая робототехникой и аппаратным программированием, в этой статье мы рассмотрим, как Python можно использовать для веб-разработки.
Веб – Разработка С Использованием Python
Python предлагает что-то для всех через свои многочисленные фреймворки. Фреймворк-это набор пакетов и модулей, обеспечивающих абстракцию или универсальную функциональность, которая может быть выборочно изменена для создания программного обеспечения, специфичного для конкретного приложения.
Но как вы узнаете, какой веб – фреймворк подходит именно вам? Для полноценных веб-приложений лучше всего использовать Django и Pyramid . Для лучшего контроля и визуализации или прототипирования приложения Web2py или Flask может быть что-то предложить вашему проекту. Cherrypy является обязательным для простых, минималистских решений. Tornado будет обрабатывать 10 000 или более одновременных подключений к вашему приложению одновременно, в то время как Dash является идеальным выбором для аналитических приложений.
В этой статье мы дадим краткий обзор трех наиболее популярных вариантов, выбранных как разработчиками, так и программистскими компаниями: Django, Pyramid и Flask. После обзора мы покажем самый популярный фреймворк Django в действии с помощью примера системы входа в систему.
Джанго
Этот фреймворк является воплощением фразы “батарейки включены”. Определяется как “веб-фреймворк для перфекционистов с дедлайнами”. Его встроенные функции позволяют использовать широкий спектр веб-приложений, таких как приложения баз данных, чат-боты, GPS-решения и т. Д.
Это СУХАЯ (не повторяйтесь) философия не только позволяет, но и способствует повторному использованию кода, сокращая время кодирования вдвое. Кроме того, его модульная/развязанная архитектура позволяет плавно изменять компоненты кода, позволяя добавлять или удалять компоненты столько, сколько необходимо, практически без каких-либо усилий.
Django также обладает чем-то под названием ORM (Объектно-реляционное отображение), что делает его не только высоко совместимым с большинством популярных баз данных, таких как SQL или Oracle, но и позволяет ему работать с несколькими базами данных одновременно.
Наконец, Django является SEO (Поисковая оптимизация) дружественным. Например, он позволяет сократить время загрузки страницы с помощью таких методов/функций, как кэширование шаблонов и сжатие JavaScript.
Пирамида
Этот фреймворк определяет себя как “не слишком маленький, не слишком большой, в самый раз”. Pyramid-это ориентированный на отделку фреймворк с возможностью начинать с малого, позволяя вам закодировать прочную основу для вашего решения, а затем масштабировать его по мере необходимости. Он похож на Django по своей совместимости с малыми и большими приложениями, но отличается от Django своей сложностью.
Хотя сам по себе он может считаться экономичным вариантом по сравнению с другими фреймворками, Pyramid сияет своей системой плагинов, позволяя разработчикам подключать все необходимое, что позволяет реализовать несколько решений для данной задачи.
Пирамида даже идеально подходит для однофайловых приложений, гибкой аутентификации и авторизации или приложений, ориентированных на просмотр предикатов .
Колба
В то время как Pyramid и Django разделяют одну и ту же основную философию, Flask идет в другом направлении. Если конечная цель-что-то простое, управляемое и настраиваемое, я бы посоветовал вам всегда использовать Flask вместо того, чтобы использовать чрезмерную силовую лошадь, такую как Django. Flask в значительной степени основан на шаблонах Jinja2 и инструментарии Werkzeug WSGI (Web Server Gateway Interface).
Определяемая как микрорамка, Flask адаптирована к мелкомасштабным решениям, таким как простые приложения или API, где бережливая функциональность является главным приоритетом. Flask также является наиболее часто используемым микро – фреймворком для создания прототипов. При построении рабочего приложения с нуля за короткий промежуток времени оно имеет приоритет над управлением указанным приложением в долгосрочной перспективе.
Простая система входа в систему с Django
В этом разделе мы расскажем, как создать простую систему входа в систему с помощью фреймворка Django. В то время как многие вещи происходят “за кулисами”, и многие вещи могут быть настроены по вкусу разработчиков, будут объяснены только самые основные шаги, чтобы продемонстрировать, насколько легко разрабатывать приложения с помощью фреймворка Django.
Установка Django
Для этого примера необходимо установить модуль PIP . Как только это будет сделано, Django может быть установлен и новый проект может быть создан следующим образом:
$ python3 -m venv ~/.virtualenvs/dProject # Creates a virtual enviroment named dProject $ source ~/.virtualenvs/dProject/bin/activate # A path is created (dProject) $ pip install django # Django is installed (dProject) $ django-admin.py startproject LoginProject_D # The project is created with the name LoginProject_D (dProject) $ ./manage.py migrate # Migrate creates a new SQLite database (dProject) $ ./manage.py runserver # Calls the local server (dProject) $ ./manage.py startapp dProject # This creates a dedicated app that will allow the making of a view and url registration.
После этого проект можно просмотреть в браузере с помощью кнопки ” http://127.0.0.1:8000 ” адрес. Экран приветствия Django загрузится в браузере, указывая на то, что установка прошла успешно.
Приложение Django Auth App
При создании проекта Django по умолчанию устанавливает приложение “auth”. Это можно подтвердить, проверив файл “settings.py”, который автоматически создается вместе с новым проектом в разделе “INSTALLED_APPS” следующим образом:
INSTALLED_APPS = [ … 'django.contrib.admin', 'django.contrib.auth', # Here it is! Note that several built-in apps are included in this section. … ]
“”Django-auth”, или “django.contrib.auth”, является встроенной системой аутентификации фреймворка Django и содержит его модели по умолчанию.
Чтобы использовать приложение “auth”, нам нужно добавить его в файл уровня проекта “urls.py”:
# Importing this module will allow us to set the routes login and logout views from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views # This section adds Django site authentication urls (for login, logout, password management) urlpatterns = [ url(r'^login/$', auth_views.login, name='login'), url(r'^logout/$', auth_views.logout, name='logout'), url(r'^admin/', admin.site.urls), path('dProject/', include('django.contrib.auth.urls')), ]
Приложение “auth” предоставляет нам следующие URL-адреса, каждый из которых связан с представлениями “auth”, что позволяет нам использовать их, просто создавая их шаблоны представлений:
dProject/login/ [name='login'] dProject/logout/ [name='logout'] dProject/password_change/ [name='password_change'] dProject/password_change/done/ [name='password_change_done'] dProject/password_reset/ [name='password_reset'] dProject/password_reset/done/ [name='password_reset_done'] dProject/reset// / [name='password_reset_confirm'] dProject/reset/done/ [name='password_reset_complete']
django.contrib.auth.views.login
view создаст “registration/login.html” шаблон по умолчанию. Это создает папку с именем РЕГИСТРАЦИЯ с “login.html” шаблон внутри. Следующий блок кода является базовым шаблоном входа в систему, который можно использовать:
{% extends 'base.html' %} {% block title %}Login{% endblock %} {% block content %}{% endblock %}Login
Наконец, мы настроили проект на поиск папки “шаблоны” через “settings.py” файл, обновление DIRS
:
TEMPLATES = [ { ... 'DIRS': [os.path.join(BASE_DIR, 'templates')], ... }, ]
Вуаля! Простая страница входа в систему, которая может правильно аутентифицировать пользователя с помощью проверки имени пользователя и пароля.
Вывод
Python широко используется для программирования на стороне сервера благодаря своим возможностям динамического создания веб-сайтов. Этот язык широко используется для быстрого прототипирования и создания масштабируемых веб-приложений такими технологическими лидерами, как Google и даже NASA!
Python, без сомнения, необходим при использовании цифрового подхода к сохранению конкурентоспособности, который еще больше усиливается стремительным ростом индустрии финтехов.
Кроме того, эти фреймворки Python сокращают усилия по разработке за счет предоставления множества встроенных функций. Единственная проблема будет заключаться в том, какой из них использовать, адаптированный к конкретным потребностям для достижения лучших результатов.