Рубрики
Без рубрики

Краткий обзор веб-разработки на Python

Автор оригинала: 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 %}
  

Login

#This is a standard form to send data. {% csrf_token %} #Security tag to prevent XSS Attacks, among other concerns. {{ form.as_p }} #Ouputs the form's contents between paragraph tags. #A submit button.
{% endblock %}

Наконец, мы настроили проект на поиск папки “шаблоны” через “settings.py” файл, обновление DIRS :

TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        ...
    },
]

Вуаля! Простая страница входа в систему, которая может правильно аутентифицировать пользователя с помощью проверки имени пользователя и пароля.

Вывод

Python широко используется для программирования на стороне сервера благодаря своим возможностям динамического создания веб-сайтов. Этот язык широко используется для быстрого прототипирования и создания масштабируемых веб-приложений такими технологическими лидерами, как Google и даже NASA!

Python, без сомнения, необходим при использовании цифрового подхода к сохранению конкурентоспособности, который еще больше усиливается стремительным ростом индустрии финтехов.

Кроме того, эти фреймворки Python сокращают усилия по разработке за счет предоставления множества встроенных функций. Единственная проблема будет заключаться в том, какой из них использовать, адаптированный к конкретным потребностям для достижения лучших результатов.