English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Быстрый старт Django

Быстрая установка

Перед использованием Django нам нужно сначала его установить. У нас есть полная инструкция по установке, которая охватывает все возможные варианты; эта инструкция проведет вас через простую, минималистичную установку.

Руководство по установке для Windows: https://docs.djangoproject.com/en/1.9/howto/windows/

Установка Python

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

Получите последнюю версию Python по адресу: https://www.python.org/download/ Или выберите менеджер пакетов для вашей операционной системы.

Вы можете проверить, установлена ли Python, введя python в терминал; вы должны увидеть результат,类似 такому:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
Python 3.4.x
 [GCC 4.x] на linux
 Введите «help», «copyright», «credits» или «license», чтобы получить дополнительную информацию.
 >>>

Настройка базы данных

Если вы хотите работать с такими «большими» базами данных, как PostgreSQL, MySQL и Oracle. Информация об установке базы данных

Удалите все старые версии Django

Если вы устанавливаете Django с обновлением с старой версии или из других соображений, вам нужно: Удалите старую версию Django перед установкой новой версии

Установка Django

Обычно для установки Django используются три простых варианта:

Установка сВерсия Django, предоставляемая операционной системой

Установка  Официальный выпуск версии

Установка последней разработанной версии. Этот вариант подходит для тех, кто хочет иметь последнее и не боится bugs в новейшем коде. Вы можете встретить bugs при разработке новых версий и сообщить им, чтобы помочь развитию Django. Кроме того, версии第三方软件пакетов в разработанных версиях могут быть несовместимы с последними стабильными версиями.

Установка Windows

Мы предполагаем, что ваш архив Django и Python уже установлены на вашем компьютере, текущая последняя версия: 1.9.1, которую можно загрузить по следующему адресу: https://www.djangoproject.com/download/

Сначала проверьте путь.

В некоторых версиях Windows (Windows 7) необходимо убедиться, что путь переменной системы Path такой: C:\Python27\;C:\Python27\Lib\site-packages\django\bin\, что, конечно, зависит от вашей версии Python.

Затем извлеките и установите Django, мы будем распаковывать его в C:\Python27\.

Далее, чтобы установить Django в Windows shell 'cmd', возможно, потребуется управление правами:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
C:\Python27\Django-1.9.1
  python setup.py install

Чтобы проверить вашу установку, откройте командную строку и введите Python в shell, чтобы увидеть. Затем в приглашении Python尝试导入 Django:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
>>> import django
 >>> print(django.get_version())
 1.9.1

Вот и завершена установка. Далее мы переходим к первому шагу разработки.


Разработка первого приложения Django

Давайте начнем создавать веб-приложение и изучать его шаг за шагом.

В этом руководстве мы будем направлять вас через процесс создания базового приложения для опроса民意 (poll).

Это будет включать две части:

Общедоступный веб-сайт, где люди могут просматривать и голосовать за голосования.

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

Предположим, что ваш Django уже установлен. Вы можете подтвердить установку и версию Django, выполнив следующую команду:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
$ python -c "import django; print(django.get_version())"

Если вы установите Django, вы должны увидеть версию, которую вы установили. Если Django еще не установлен, вы получите сообщение об ошибке: “No module named django”.

Этот учебник написан с использованием Django1.9 и Python2.7 или более поздних версий. Если версия Django не соответствует, вы можете изменить версию Django или обновить Django до последней версии. Если вы все еще используете Python2.7, вам нужно будет немного изменить код, как описано в комментариях.

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

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

В командной строке перейдите в каталог, где вы хотите хранить код, например, в этом примере я создаю проект в: C:\Python7\ , затем выполните следующие команды:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date : 2020-08-08C:\python27> django-admin startproject mysite

Это создаст каталог mysite в C:\python17.如下图:

Давайте посмотрим на структуру каталогов, созданную командой startproject:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
mysite/
     manage.py
     mysite/
         __init__.py
         settings.py
         urls.py
         wsgi.py

Краткое описание вышеуказанных файлов:

В корневом каталоге mysite/ просто контейнерный проект. Для Django имя может быть любым, вы можете изменить его на любое, которое вам нравится.

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

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

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Дата: 2020-08-08C:\python27\mysite> python manage.py runserver

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
Выполняется проверка системы...
 Система неявила проблем (0 подавлены)
 У вас есть не примененные миграции; ваше приложение может не работать корректно, пока они не будут применены.
 Запустите 'python manage.py migrate', чтобы применить их.
 24 января 2016 года — 15:50:53
 Версия Django 1.9, использует настройки 'mysite.settings'
 Запуск сервера разработки по адресу http://127.0.0.1:8000. Выход из сервера с помощью CONTROL-C.

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

需要注意:не используйте этот сервер в средах, аналогичных производственным. Цель его использования — только разработка (мы используем веб-фреймворк, а не веб-сервер для бизнеса.)

Теперь сервер работает, пожалуйста, используйте веб-браузер для доступа: http://127.0.0.1:8000/Вы увидите страницу “Welcome to Django”. Это означает, что установка прошла успешно!

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

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
$ python manage.py runserver 8080

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
$ python manage.py runserver 0.0.0.0:8000

Создание приложения Polls

Теперь проект 'project' - после настройки его можно начать использовать.

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

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

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08C:\python27\mysite> python manage.py startapp polls

Это создаст каталог polls, структура каталога такая:

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
polls/
     __init__.py
     admin.py
     apps.py
     migrations/
         __init__.py
     models.py
     tests.py
     views.py

Приложение 'poll' в этой структуре каталога.

Напишите код вида

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


polls/urls.py
  # Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
from django.conf.urls import url from . import views
 urlpatterns = [
     url(r'^, views.index, name='index'),
 ], views
    .index, name
    =
    ','index'),
    
 ]

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

<div fira="" mono="" consolas="" menlo="" monaco="" 'courier="" new'="" ,="" courier,="" monospace;"="">mysite/urls.py
  # Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
from django.conf.urls import include, url from django.contrib import admin
 urlpatterns = [
     url(r'^polls/', include('polls.urls')),
     url(r'^admin/', admin.site.urls),
 ]

Теперь мы связали индексный вид с конфигурацией URL. Давайте проверим результат, запустив следующую команду:

  # Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
C:\Python27\mysite> python manage.py runserver

 

Откройте http://localhost:8000/polls/ в браузере, и вы должны увидеть следующий текст: «Hello, world. Вы находитесь в индексе опросов, определённом в视图 index».

 

Функция url() передаёт четыре параметра, два обязательных: regex и view, а также два необязательных: kwargs и name.

url() Параметр: regex

Термины «regex» - это распространенная аббревиатура, означающая «regular expression» (регулярное выражение), это строковый шаблон для соответствия грамматике, или в нашем примере это шаблон URL. Django начинает с первого регулярного выражения и позволяет ему перебирать список, сравнивая URL каждого запроса регулярного выражения до тех пор, пока он не найдет соответствие.

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

Если вам нужно использовать помощь по регулярным выражениям, пожалуйста, обратитесь к статье Википедии и    re Документация модуля. Однако на практике вам не нужно быть экспертом по регулярным выражениям, потому что вам нужно только знать, как «поймать» простые шаблоны. На самом деле, сложные регулярные выражения могут быть медленнее, поэтому вы можете не зависеть от всех функций регулярных выражений.

В конце, один момент о производительности нужно знать: эти регулярные выражения компилируются один раз при загрузке модуля конфигурации URL. Они очень быстрые (если поиск не слишком сложен - как указано выше).

url() параметр: view

Когда Django находит соответствие регулярного выражения, Django вызывает指定的 функцию представления, используя HTTP-объект запроса в качестве первого параметра, и другие параметры, «пойманные» из регулярного выражения, в качестве других значений. Регулярные выражения используют простые «пойманные» значения, передача значений через позиционные параметры; если используется именованный «пойманный» параметр, передача значений через параметры ключевых слов. Мы приведем пример.

url() параметр: kwargs

Любые параметры ключевых слов можно передавать через целевое представление в словаре. В этом учебнике мы не будем использовать эту особенность Django.

url() аргумент: имя

Названия адресов можно ссылаться на него, явно отличаясь от других мест в Django - особенно в шаблонах. Эта мощная функция позволяет производить глобальные изменения в模式的 URL проекта,只需要修改一个 файл. Далее мы изучим, как использовать данные функции в Django. Серия учебников быстрого старта:

Быстрый старт Django - база данных модели  
  Быстрый старт Django - представления  
  Быстрый старт Django - формы