Команды django-admin и manage.py
Этот перечень ни в коем случае не является полным, здесь приведены наиболее часто используемые команды.django-admin startproject myproject - создать новый проект (генерирует структуру) python manage.py runserver - запустить тестовый сервер (на Для просмотра ссылки Войди python manage.py runserver 0.0.0.0:80 - запустить тестовый сервер доступный извне (не злоупотреблять) django-admin startapp myapp - создать приложение в текущем проекте django-admin makemessages - сгенерировать файлы с сообщениями подлежащими локализации django-admin compilemessages - скомпилировать файлы локализации python manage.py makemigrations - создать файлы миграций для БД python manage.py sqlmigrate app 0001 - просмотр sql-кода, сгенерированного в миграции 0001 приложения app python manage.py shell - запустить окно командной строки python manage.py test - прогнать тесты (для прогона будет создана чистая БД) python manage.py test --verbosity=2 - управление детализацией вывода при тестах (2-макс, 0 - мин) python manage.py createsuperuser - создать пользователя-администратора |
Операции с моделями
1 2 3 4 5 6 7 8 9 | В примерах ниже Board - класс, board - экземпляр класса. Операция Пример кода Создать обьект без сохранения board = Board() Сохранить обьект (создать или обновить) board.save() Создать обьект и сохранить в базу Board.objects.create(name='...', desc='...') Получить список всех обьектов Board.objects.all() Получить список обьектов, фильтр по полю Board.objects.get(id=1) |
Шаблоны тестов
Проверка HTTP-кода ответа для адреса с alias-ом home.1 2 3 4 5 6 7 8 | from django.core.urlresolvers import reverse from django.test import TestCase class HomeTests(TestCase): def test_home_view_status_code(self): url = reverse('home') response = self.client.get(url) self.assertEquals(response.status_code, 200) |
Проверка, что URL вызывает правильную view
1 2 3 | def test_home_url_resolves_home_view(self): view = resolve('/') self.assertEquals(view.func, home) |
Шаблоны регулярных выражений для URL
В этом разделе приведены несколько примеров наиболее часто используемых шаблонов для файла urls.py.Автогенерируемый первичный ключ
Регулярное выражение:
1 | &nbsp;(?P<pk>\d+) |
Пример использования:
1 | url(r'^questions/(?P<pk>\d+)/$', views.question_details, name='question_details'), |
Подходит | Не подходит | |
URL | Будет извлечено | URL |
/questions/0/ | {‘pk’: ‘0’} | /questions/-1/ |
/questions/1/ | {‘pk’: ‘1’} | /questions/test-1/ |
/questions/934/ | {‘pk’: ‘934’} | /questions/abcdef/ |
Текстовая ссылка (ЧПУ)
Регулярное выражение:
1 | (?P<slug>[-\w]+)-(?P<pk>\d+) |
Подходит | Не подходит | |
URL | Будет извлечено | URL |
/blog/hello-world-159/ | {‘slug’: ‘hello-world’, ‘pk’: ‘159’} | /blog/hello-world/ |
/blog/a-0/ | {‘slug’: ‘a’, ‘pk’: ‘0’} | /blog/1/ |
/blog/helloworld1/ | ||
/hello-world-1-test/ |