Всем привет!
Сегодня мы поговорим об установке и настройке django. Я буду устанавливать django 1.11 в виртуальное окружение на Windows 10. Установка будет состоять всего из 8-ми шагов:
- Для начала установим virtualenv:
pip install virtualenv
- Перейдем к желаемой директории для своего проекта, пусть это будет корень диска D:
D:
- И создадим в ней виртуальное окружение:
virtualenv env
- Потом запустим его:
env\Scripts\activate.bat
- И установим в него django:
pip install django
- И уже можно создать тестовый проект:
django-admin startproject newproject
. Он должен появиться в корне дискаD
- И теперь, чтобы посмотреть, что у нас получилось, переходим в только что созданный каталог
newproject
через командуcd newproject
- И запускаем сервер:
python manage.py runserver
итого, если все подытожить, то bat-файл должен выглядеть так:
pip install virtualenv & D: & virtualenv env & env\Scripts\activate.bat & pip install django & django-admin startproject newproject & cd newproject & python manage.py runserver
Теперь чтобы запустить сервер, нам достаточно прописать в командной строке:
D: & env\Scripts\activate.bat & cd newproject & python manage.py runserver
Перейдем по адресу `http://127.0.0.1:8000/`. Ура, ваш первый проект готов!
Теперь создадим наше первое приложение:
python manage.py startapp testapp
- Создадим в нем файл
urls.py
и пропишем там: `url(», views.index, name=’home’),` (views надо импортировать from . import views). - В INSTALLED_APPS общего serttings.py пропишем название нашего приложения — ‘testapp’
- И пропишем в основном urls.py: `url(r», include(‘testapp.urls’)),` (include так же надо импортировать из django.conf.urls)
- Во views пропишем: `index = lambda request: HttpResponse(«Hello World!»)`
Теперь если все сделано верно, то главная страница выведет «hello world»
Теперь добавим к нашему приложению шаблоны:
- Создадим в корне нашего приложения папку templates
- Добавим `TEMPLATE_DIR = os.path.join(BASE_DIR, «templates»)` в файл settings.py и назначим ключу DIRS первого словаря в списке TEMPLATES назначим значение [TEMPLATE_DIR,]
- Создадим файл index.html в папке templates и заполним его содержимым
- Заменим значение index во views.py на следующее: `index = lambda request: render(request,»index.html»,{})`
- Перезагрузим страницу
Мы молодцы. Теперь вы можете создавать полноценные сайты за 5 минут.
Итоговый код будет выглядеть следующим образом:
views:
from django.http import HttpResponse from django.shortcuts import render ##index = lambda request: HttpResponse("Hello World!") index = lambda request: render(request,"index.html",{})
urls приложения:
from django.conf.urls import url from django.contrib import admin from . import views urlpatterns = [ url('', views.index, name='home'), ]
Основной urls.py:
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'', include('testapp.urls')), url(r'^admin/', admin.site.urls), ]
settings.py (отрывок):
TEMPLATE_DIR = os.path.join(BASE_DIR, "templates") TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [TEMPLATE_DIR,], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]