Веб приложение на django: Веб-приложение на Django с нуля

Django | Создание первого приложения

Последнее обновление: 12.08.2022

Веб-приложение или проект Django состоит из отдельных приложений. Вместе они образуют полноценное веб-приложение.
Каждое приложение представляет какую-то определенную функциональность или группу функциональностей.
Один проект может включать множество приложений. Это позволяет выделить группу задач в отдельный модуль и разрабатывать их относительно
независимо от других. Кроме того, мы можем переносить приложение из одного проекта в другой независимо от другой функциональности проекта.

При создании проекта он уже содержит несколько приложений по умолчанию.

  • django.contrib.admin

  • django.contrib.auth

  • django.contrib.contenttypes

  • django.contrib.sessions

  • django.contrib.messages

  • django.contrib.staticfiles

Список всех приложений можно найти в проекте в файле settings. py в переменной INSTALLED_APPS:


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

И, конечно, мы можем создавать свои приложения, которые реализуют определенный функционал. Для создания приложения в проекте применяется команда

python manage.py startapp название_проекта

Так, создадим в проекте, созданном в прошлой теме или новом,
первое приложение, которое будет называться hello. Для этого выполним в командной строке/терминале следующую команду:

python manage.py startapp hello

В результате в проекте Django будет создано приложение hello. И после выполнения этой команды мы увидим в проекте новую папку, которое будет хранить все файлы созданного приложения:

Рассмотрим вкратце его структуру:

  • папка migrations: предназначена для хранения миграций — скриптов, которые позволяют синхронизировать структуру базы данных с
    определением моделей

  • __init__. py: указывает интерпретатору python, что текущий каталог будет рассматриваться в качестве пакета

  • admin.py: предназначен для административных функций, в частности, здесь призводится регистрация моделей, которые используются в интерфейсе администратора

  • apps.py: определяет конфигурацию приложения

  • models.py: хранит определение моделей, которые описывают используемые в приложении данные

  • tests.py: хранит тесты приложения

  • views.py: определяет функции, которые получают запросы пользователей, обрабатывают их и возвращают ответ

Но пока приложение никак не задействуется. Его надо зарегистрировать в проекте Django. Для этого откроем файл settings.py и
добавим в конец массива INSTALLED_APPS наше приложение:


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django. contrib.messages',
    'django.contrib.staticfiles',
    'hello'
]

В проекте может быть несколько приложений, и каждое из них надо добавлять таким вот образом.

Теперь определим какие-нибудь простейшие действия, которые будет выполнять данное приложение, например, отправлять в ответ пользователю строку
«Hello World».

Для этого перейдем в проекте приложения hello к файлу views.py, который по умолчанию должен выглядеть следующим
образом:


from django.shortcuts import render
# Create your views here.

Изменим код следующим образом:


from django.http import HttpResponse
 
def index(request):
    return HttpResponse("Hello METANIT.COM")

В данном случае мы импортируем класс HttpResponse из стандартного пакета django.http.
Затем определяется функция index(), которая в качестве параметра получает объект запроса request. Класс HttpResponse предназначен для
создания ответа, который отправляется пользователю. И с помощью выражения return HttpResponse("Hello METANIT.COM") мы отправляем пользователю
строку «Hello METANIT.COM»

Теперь также в основном проекте Django откроем файл urls.py, который позволяет сопоставить маршруты с представлениями, которые
будут обрабатывать запрос по этим маршрутам. По умолчанию этот файл выглядит следующим образом:


from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

Первой строкой из модуля django.contrib импортируется класс AdminSite, который предоставляет возможности работы с интерфейсом
администратора. Второй строкой из модуля django.urls импортируется функция path. Эта функция
задает сопоставление определенного маршрута с функцией обработки. Так, в данном случае маршрут «admin/» будет обрабатываться методом
admin.site.urls.

Но выше мы определили функцию index в файле views.py, который возвращает пользователю строку «Hello METANIT. COM». Поэтому изменим файл urls.py следующим
образом:


from django.urls import path
from hello import views

urlpatterns = [
    path('', views.index, name='home'),
]

Чтобы использовать функцию views.index вначале импортируем модуль views. Затем определяем сопоставление маршрута ‘ ‘ и функции views.index и
также дополнительно имя для маршрута: name='home'. По сути маршрут ‘ ‘ будет сопоставляться с запросом к корню приложения.

Теперь снова запустим приложение командой

python manage.py runserver

И вновь перейдем в браузере по адресу http://127.0.0.1:8000/, и браузер нам отобразит строку «Hello METANIT.COM»:

НазадСодержаниеВперед

Как создать первое веб-приложение с помощью Django

0 ∞ 3

  • Мотивация
  • Цели
  • Победители…
  • Давайте создадим веб-приложение!
    • Установите Python
    • Создайте виртуальную среду
    • Установите Django
    • Создайте проект Django
  • Настройте PyCharm для комфортной работы
    • Откройте созданный вами проект Django
  • Подготовьте сервер к работе
  • Мы готовы к запуску
  • Заключение

На днях мой брат спросил меня, могу ли я создать для него веб-сайт, с помощью которого можно было бы собирать данные, вводимые пользователями, выполнять некоторые вычисления и привлекать потенциальных клиентов. Я не работал над созданием сайтов со времен Geocities и MySpace. Ну, может быть, не так давно, но я довольно сильно отстал от темы, поскольку веб-программирование — не моя повседневная работа. Моим последним побочным проектом был сайт ресторана, созданный много лет назад, который я сделал с помощью PHP, поэтому я провел небольшое интернет-исследование, чтобы узнать, что популярно именно сейчас.

Простая в использовании IDE (интегрированная среда разработки). На моей нынешней работе (системным инженером) мне пришлось разрабатывать сценарии для автоматизации создания документов. Одна из проблем конкретного набора инструментов, который мы используем, заключается в том, что в нем нет редактора исходного кода. Нет подсветки синтаксиса или завершения кода. Это очень неудобно. Я понятия не имею, работает ли то, что я пишу, пока не запущу это и не увижу ошибки / предупреждения.

Отладка выполняется с помощью операторов печати. Так работать нельзя.

Этот простой язык программирования может пригодиться мне в будущем. В наши дни освоить большинство языков программирования довольно просто. Я искал тот, который имел бы хорошую поддержку (документацию, сообщество пользователей, учебные пособия), требовал бы минимального кода для достижения необходимого результата и был легко читаем.

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

Работает быстро, без кучи ерунды. Поскольку это побочный проект, который дополняет мою постоянную работу и обязанности в семье, я не хотел тратить многие часы на настройку. Я хотел быстро получить прототип, чтобы можно было приступить к реальной работе.

Веб-фреймворк Django, использующий Python. Оказывается, этот инструмент автоматизации тестирования, который мы планировали использовать на работе, использует Python, так что это сыграло большую роль в том, что я обратил на него внимание, как на язык программирования общего назначения.

У меня был некоторый опыт работы с Java, но Spring оказался слишком тяжелым для этого проекта. Решения на основе Javascript, такие как стек MEAN, выглядели мощно, но я стараюсь не иметь с ними дел, если только это не (внешний интерфейс).

PyCharm. Выбрав Python, выбрать IDE было довольно просто. У PyCharm много фанатов, и я обнаружил, что к нему легко привыкнуть по сравнению с плагином PyDev в Eclipse или редактором IDLE, который поставляется вместе с Python.

Внимание: все это я проделал на своем MacBook. Шаги будут отличаться, если вы используете Windows. Мой стационарный компьютер сейчас пылится и используется только эпизодически (для игр).

Загрузите Python с официального сайта. После установки убедитесь в том, что все готово. Откройте окно терминала и введите в него приведенные ниже команды.

$ python --version
Python 3.7.6

Предыдущее действие изолирует среду разработки и сохранит порядок на случай, если вы работаете над другими проектами, которые могут иметь другие зависимости.

Сначала создайте папку для проекта.

$ mkdir mywebapp 
$ cd mywebapp

Затем создайте и активируйте виртуальную среду. Вы узнаете, что это работает, когда увидите «(myvenv)» в командной строке терминала.

$ python -m venv myvenv
$ source myvenv/bin/activate
(myvenv) ~$

Введите приведенную ниже строку, и веб-фреймворк Django будет установлен. Серьезно, это так просто.

(myvenv) ~ $ python -m pip install Django

Создадим наш первый проект Django.

(myvenv) ~$ python -m pip install Django 

Это действие создает структуру каталогов, а также файлы, необходимые для начала работы. Это выглядит примерно так.

mywebapp 
├── manage.py 
├── mysite 
│ ├── __init__.py 
| ├── asgi.py 
│ ├── settings.py 
│ ├── urls.py 
│ └── wsgi.py 
├── myvenv 
    └── ...

Для работы с этими файлами можно использовать любой текстовый редактор, но мы не дикари. Пришло время установить PyCharm.

Перейдите на официальную страницу загрузки PyCharm и скачайте версию Community Edition. Это бесплатно, и мне нравится, что это бесплатно. Когда PyCharm будет установлен, откройте его, и вы увидите что-то вроде этого.

Нажмите кнопку «Открыть» и найдите каталог веб-приложения, который вы создали ранее.

Нажмите кнопку «Открыть», чтобы выбрать его в качестве рабочего каталога, после чего вы увидите структуру каталогов проекта.

Проект уже должен быть направлен в интерпретатор Python в виртуальной среде, но на тот случай, если это еще не сделано, перейдите в PyCharm → Preferences, и убедитесь в том, что у вас заданы настройки, указанные ниже.

Следующим шагом является настройка конфигурации запуска / отладки. Для этого перейдите в Run → Edit Configurations.

Нажмите «+», чтобы создать новую конфигурацию Python, и установите Script Path и Parameters, чтобы он запускал сервер.

Все настроено, теперь нажмите кнопку «Play», чтобы запустить приложение. В консоли вы увидите сообщение о том, что сервер разработки запущен.

Если вы перейдете по ссылке, то увидите, как взлетает ракета. Наслаждайтесь тем, чего вы достигли.

Еще очень много предстоит сделать, но выполнение всего этого менее чем за 15 минут является свидетельством того, как далеко продвинулись современные веб-технологии. Даже для такого отставшего любителя, как я, было легко и приятно вернуться в седло.

Вадим Дворниковавтор-переводчик статьи «Creating My First Web App with Django»

Пожалуйста, опубликуйте свои комментарии по текущей теме материала. За комментарии, подписки, дизлайки, лайки, отклики огромное вам спасибо!

Написание вашего первого приложения Django, часть 1 | Документация Django

Давайте учиться на примере.

В этом уроке мы проведем вас через создание базового
приложение для голосования.

Он будет состоять из двух частей:

  • Публичный сайт, на котором люди смогут просматривать опросы и голосовать в них.
  • Сайт администратора, позволяющий добавлять, изменять и удалять опросы.

Предположим, что у вас уже установлен Django. Ты можешь
сообщите, что Django установлен и какая версия, выполнив следующую команду
в приглашении оболочки (обозначается префиксом $):

/

 $ python -m django --version
 
 . ..\> py -m django --version
 

Если Django установлен, вы должны увидеть версию вашей установки. Если оно
нет, вы получите сообщение об ошибке «Нет модуля с именем django».

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

См. Как установить Django, чтобы узнать, как удалить
более старые версии Django и установите более новую.

Где получить помощь:

Если у вас возникли проблемы при прохождении этого руководства, перейдите на
раздел «Получение справки» часто задаваемых вопросов.

Создание проекта

Если вы впервые используете Django, вам придется позаботиться о некоторых
Начальная настройка. А именно, вам нужно будет автоматически сгенерировать некоторый код, который устанавливает
Проект Django — набор настроек для экземпляра Django,
включая конфигурацию базы данных, параметры, специфичные для Django, и
специфические для приложения настройки.

Из командной строки cd в каталог, где вы хотите сохранить
код, затем выполните следующую команду:

/

 $ django-admin startproject mysite
 
 ...\> django-admin startproject мой сайт
 

Это создаст каталог mysite в вашем текущем каталоге. если бы не
работа, см. Проблемы с запуском django-admin.

Примечание

Вам нужно избегать имен проектов после встроенного Python или Django
компоненты. В частности, это означает, что вам следует избегать использования таких имен, как
django (который будет конфликтовать с самим Django) или test (который
конфликтует со встроенным пакетом Python).

Где должен жить этот код?

Если вы используете старый добрый PHP (без использования современных фреймворков),
вы, вероятно, привыкли размещать код в корневом каталоге веб-сервера
(в таком месте, как /var/www ). С Django вы этого не сделаете. Его
не очень хорошая идея помещать какой-либо из этих Python-кодов в ваш веб-сервер.
корень документа, потому что это может привести к тому, что люди смогут
для просмотра кода через Интернет. Это плохо для безопасности.

Поместите свой код в какой-нибудь каталог за пределами корня документа, например
/дом/мойкод .

Давайте посмотрим, что создал startproject :

 mysite/
    управлять.py
    мой сайт/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
 

Эти файлы:

  • Внешний корневой каталог mysite/ является контейнером для вашего проекта. Его
    имя не имеет значения для Джанго; вы можете переименовать его во что угодно.
  • manage.py : Утилита командной строки, которая позволяет вам взаимодействовать с этим
    Проект Django различными способами. Вы можете прочитать все подробности о
    manage. py в django-admin и manage.py.
  • Внутренний каталог mysite/ — это фактический пакет Python для вашего
    проект. Его имя — это имя пакета Python, которое вам нужно будет использовать для импорта.
    что-нибудь внутри него (например, mysite.urls ).
  • mysite/__init__.py : пустой файл, который сообщает Python, что это
    каталог следует рассматривать как пакет Python. Если вы новичок в Python,
    читайте больше о пакетах в официальной документации Python.
  • mysite/settings.py : Настройки/конфигурация для этого Django
    проект. Настройки Django расскажут вам все о том, как настроить
    работа.
  • mysite/urls.py : объявления URL для этого проекта Django; а
    «оглавление» вашего сайта на Django. Вы можете прочитать больше о
    URL-адреса в диспетчере URL-адресов.
  • mysite/asgi.py : точка входа для ASGI-совместимых веб-серверов для
    обслуживать ваш проект. Дополнительные сведения см. в разделе Как выполнить развертывание с помощью ASGI.
  • mysite/wsgi.py : точка входа для WSGI-совместимых веб-серверов для
    обслуживать ваш проект. Дополнительные сведения см. в разделе Как выполнить развертывание с помощью WSGI.

Сервер разработки

Давайте проверим, работает ли ваш проект Django. Перейдите во внешний каталог mysite , если
вы еще этого не сделали, и выполните следующие команды:

/

 $ python manage.py runserver
 
 ...\> py manage.py сервер запуска
 

Вы увидите следующий вывод в командной строке:

Выполнение системных проверок...
Проверка системы не выявила проблем (0 отключено).
У вас есть непримененные миграции; ваше приложение может работать неправильно, пока они не будут применены.
Запустите «python manage.py migrate», чтобы применить их.
26 апреля 2023 г. - 15:50:53
Django версии 4.2, используя настройки mysite.settings. 
Запуск сервера разработки по адресу http://127.0.0.1:8000/
Выйдите из сервера с помощью CONTROL-C.
 

Примечание

Пока игнорировать предупреждение о непримененных миграциях базы данных; мы будем иметь дело
с базой данных в ближайшее время.

Вы запустили сервер разработки Django, легкий веб-сервер, написанный
чисто на питоне. Мы включили это в Django, чтобы вы могли разрабатывать вещи
быстро, без необходимости заниматься настройкой производственного сервера, например
Apache — пока вы не будете готовы к работе.

Сейчас самое время отметить: не не используйте этот сервер ни в чем подобном
производственная среда. Он предназначен только для использования во время разработки. (Были в
бизнес по созданию веб-фреймворков, а не веб-серверов.)

Теперь, когда сервер запущен, посетите http://127.0.0.1:8000/ со своим веб-сайтом.
браузер. Вы увидите сообщение «Поздравляем!» страница, с взлетающей ракетой.
Это сработало!

Изменение порта

По умолчанию команда runserver запускает сервер разработки
на внутреннем IP на порту 8000.

Если вы хотите изменить порт сервера, пройдите
это как аргумент командной строки. Например, эта команда запускает сервер
на порту 8080:

/

 $ python manage.py runserver 8080
 
 ...\> py manage.py сервер запуска 8080
 

Если вы хотите изменить IP-адрес сервера, передайте его вместе с портом. Для
например, для прослушивания всех доступных общедоступных IP-адресов (что полезно, если вы
работаете с Vagrant или хотите показать свою работу на других компьютерах на
сети), используйте:

/

 $ python manage.py runserver 0.0.0.0:8000
 
 ...\> py manage.py сервер запуска 0.0.0.0:8000
 

Полную документацию по серверу разработки можно найти в
ссылка на сервер запуска .

Автоматическая перезагрузка сервера запуска

Сервер разработки автоматически перезагружает код Python для каждого запроса
по мере необходимости. Вам не нужно перезапускать сервер, чтобы изменения кода вступили в силу.
эффект. Однако некоторые действия, такие как добавление файлов, не вызывают перезагрузку.
поэтому вам придется перезапустить сервер в этих случаях.

Создание приложения «Опросы»

Теперь, когда ваша среда — «проект» — настроена, вы готовы начать
в процессе работы.

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

Проекты и приложения

В чем разница между проектом и приложением? Приложение — это сеть
приложение, которое что-то делает — например, система блогов, база данных
публичные записи или небольшое приложение для опроса. Проект – это совокупность
конфигурация и приложения для конкретного веб-сайта. Проект может содержать
несколько приложений. Приложение может быть в нескольких проектах.

Ваши приложения могут находиться где угодно на пути Python. В
В этом руководстве мы создадим наше приложение для опроса в том же каталоге, что и ваш
manage.py , чтобы его можно было импортировать как собственный модуль верхнего уровня,
а не подмодуль mysite .

Чтобы создать приложение, убедитесь, что вы находитесь в том же каталоге, что и manage.py
и введите эту команду:

/

 $ python manage.py startapp polls
 
 ...\> опросы py manage.py startapp
 

Это создаст каталог polls , который выглядит следующим образом:

 polls/
    __init__.py
    admin.py
    приложения.py
    миграции/
        __init__.py
    модели.py
    тесты.py
    просмотры.py
 

В этой структуре каталогов будет размещено приложение опроса.

Напишите свой первый вид

Давайте напишем первый вид. Откройте файл polls/views.py
и поместите в него следующий код Python:

polls/views.py

 из django.http импорт HttpResponse
Индекс защиты (запрос):
    return HttpResponse("Привет, мир. Вы попали в индекс опросов.")
 

Это самое простое представление в Django. Чтобы вызвать представление, нам нужно отобразить
его на URL — и для этого нам нужен URLconf.

Чтобы создать URLconf в каталоге опросов, создайте файл с именем urls.py .
Теперь каталог вашего приложения должен выглядеть так:

 polls/
    __init__.py
    admin.py
    приложения.py
    миграции/
        __init__.py
    модели.py
    тесты.py
    urls.py
    просмотры.py
 

В файл polls/urls.py включите следующий код:

polls/urls.py

 из пути импорта django.urls
от . импорт просмотров
URL-шаблоны = [
    путь("", views.index, name="index"),
]
 

Следующим шагом является указание корневого URLconf на модуль polls. urls . В
mysite/urls.py , добавьте импорт для django.urls.include и вставьте
include() в списке urlpatterns , поэтому у вас есть:

mysite/urls.py

 из администратора импорта django.contrib
из импорта django.urls включить, путь
URL-шаблоны = [
    путь("опросы/", включить("опросы.urls")),
    путь("admin/", admin.site.urls),
]
 

Функция include() позволяет ссылаться на другие конфигурации URL.
Всякий раз, когда Django встречает include() , он отсекает все, что угодно.
часть URL-адреса, совпадающего с этой точкой, и отправляет оставшуюся строку в
включил URLconf для дальнейшей обработки.

Идея include() состоит в том, чтобы упростить
подключаемые URL-адреса. Так как опросы находятся в их собственном URLconf
( polls/urls.py ), их можно поместить в «/polls/» или в
«/fun_polls/», или под «/content/polls/», или любой другой корень пути, и
приложение по-прежнему будет работать.

Когда использовать include()

Всегда следует использовать include() при включении других шаблонов URL.
admin.site.urls является единственным исключением.

Теперь вы подключили представление index к URLconf. Убедитесь, что он работает с
следующую команду:

/

 $ python manage.py runserver
 
 ...\> py manage.py сервер запуска
 

Перейдите по адресу http://localhost:8000/polls/ в браузере, и вы должны увидеть
текст « Привет, мир. Вы находитесь в индексе опросов. », который вы определили в
индекс вид.

Страница не найдена?

Если вы видите здесь страницу с ошибкой, убедитесь, что вы собираетесь
http://localhost:8000/polls/, а не http://localhost:8000/.

В функцию path() передаются четыре аргумента, два обязательных:
route и view и два дополнительных: kwargs и name .
На этом этапе стоит рассмотреть, для чего нужны эти аргументы.

path() аргумент: route

route — это строка, содержащая шаблон URL. При обработке запроса,
Django начинает с первого шаблона в urlpatterns и спускается вниз
список, сравнивая запрошенный URL с каждым шаблоном, пока не найдет один
что соответствует.

Шаблоны не выполняют поиск параметров GET и POST или имени домена. Например,
в запросе к https://www.example.com/myapp/ URLconf будет искать
мое приложение/ . В запросе на https://www.example.com/myapp/?page=3
URLconf также будет искать myapp/ .

path() аргумент: view

Когда Django находит соответствующий шаблон, он вызывает указанную функцию просмотра с
HttpRequest объект в качестве первого аргумента и любой
«захваченные» значения из маршрута в качестве аргументов ключевого слова. Мы приведем пример
об этом немного.

path() аргумент: kwargs

Произвольные аргументы ключевого слова могут быть переданы в словаре целевому представлению. Мы
не будем использовать эту функцию Django в руководстве.

path() аргумент: name

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

Когда вы освоитесь с основным потоком запросов и ответов, прочтите
часть 2 этого руководства, чтобы начать работать с
база данных.

Поддержка Django Software Foundation

Разработка Django поддерживается независимым фондом, созданным как некоммерческая организация 501(c)(3). Как и большинство фондов с открытым исходным кодом, цель Django Foundation — продвигать, поддерживать и продвигать веб-фреймворк Django.

Как сделать пожертвование?

Мы принимаем пожертвования с помощью карты на нашей странице сбора средств.

Вы также можете отправить чек, выписанный в Django Software Foundation, по адресу:

.
Почтовый ящик 105576
Атланта, Джорджия 30348-5576

Пожалуйста, укажите «вниманию Кэтрин Холмс» в разделе примечаний.

Мы также можем принять другие способы оплаты, пожалуйста, свяжитесь с нами для получения подробной информации.

Есть ли другие способы дать?

Да, вот некоторые из них:

Купить официальные товары Django

Посетите официальный магазин товаров
купить футболки, аксессуары и многое другое с логотипом Django.

Спонсор через GitHub Sponsors

Django является частью GitHub Sponsors. Посещать
страницу Django GitHub Sponsors, чтобы спонсировать DSF через нее.

Программа благотворительной помощи на рабочем месте

DSF рада быть участником программы благотворительной помощи на рабочем месте .
Когда ваш работодатель становится членом сообщества Benevity, вы можете делать пожертвования
DSF через вычет из заработной платы. Многие работодатели также предлагают соответствующий взнос, увеличивая
сумма, которую DSF получает от вашего пожертвования.

Программа Benevity доступна для работодателей в любой стране и сотрудничает с отделом расчета заработной платы вашей компании для простоты использования от настройки до выплат.

Узнайте у своего работодателя, участвует ли он в программе Benevity, или посетите сайт Benevity по адресу
www.benevity.com, чтобы узнать больше, если ваш
работодатель еще не является участником программы Benevity.

Amazon Smile

DSF является получателем Amazon Smile. Когда вы делаете покупки на Amazon, вы можете номинировать 0,5% от покупной цены ваших соответствующих покупок AmazonSmile для пожертвования Django Software Foundation.

Как будет использовано мое пожертвование?

Основной задачей Django Software Foundation является прямая поддержка разработчиков Django. Это означает:

  • Организация и финансирование спринтов разработки, чтобы разработчики Django могли встречаться лицом к лицу: так мы намного продуктивнее.
  • Помощь ключевым разработчикам в посещении этих спринтов и других мероприятий сообщества, покрывая дорожные расходы на официальные встречи и спринты Django.
  • Предоставление финансовой помощи проектам по развитию сообщества и работе с общественностью, таким как DjangoGirls.
  • Предоставление финансовой помощи частным лицам для участия в крупных конференциях и мероприятиях.
  • Финансирование программы стипендий Django, которая предоставляет штатных сотрудников для выполнения задач по управлению сообществом в сообществе Django.

Принимаете ли вы пожертвования от компаний/корпораций?

Да. Также у нас есть программа корпоративного спонсорства. Свяжитесь с нами, если хотите узнать больше.

Могу ли я выбрать конкретную функцию или проект для поддержки?

Нет: мы не разрешаем спонсорам напрямую спонсировать определенные функции.

This entry was posted in Продвижение