Полезное
Консоль
Открыть консоль
./manage.py shell
Импортирование модели
from appname.models import Classname
Создать экземлпяр класса
p = Classname(field1="value1", field1="value2"...)
Вывод экземлпяра класса (благодаря def str(self))
p
Сохранение в базу данных
p.save()
Id экземпляра модели
p.id
Атрибуты класса
dir(p)
Создание экземпляра класса с помощью атрибута objects (метод save() не нужно)
p2 = Classname.objects.create(field1="value1", field1="value2"...)
Вернуть все объекты
Classname.objects.all()
Вернуть все объекты со значениями
Classname.objects.values()
Вернуть объект с определённым значением
p3 = Classname.objects.get(field1="value1")
Вернуть объект с определённым значением независимо от регистра
p4 = Classname.objects.get(field1__iexact="Value1")
Вернуть объект/объекты содержащие определенное значение
p5 = Classname.objects.filter(field1__contains="Val")
Изменить какое-нибудь значение
p = Classname.objects.get(field1="Value1") # найти объект
p.field1 # проверить значение
p.field1 = 'new_value' # задать новое значение
p.save # сохранить
Обработка списка в цикле
В appname/views.py объявление переменной
from django.shortcuts import render
def func_name(request):
n = ['1', '2', '3'] # объявление переменной
return render(request, 'appaname/index.html', context={'var': n}) # ключ var со значением n - это переменная которая будет использоваться в шаблоне
В шаблоне appname/templates/appame/index.html
{% for i in var %}
<p>
{{ i }}
</p>
{% endfor %}
Переменная BASE_DIR
projectname/settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Детальный разбор:
В корне проекта открыть пайтон
python3
Подключить модуль os
import os
Создать переменную base, в атрибуте указать название файла
base = os.path.dirname(os.path.dirname(os.path.abspath('settings.py')))
base
Абсолютный путь до папки с проектом
os.path.join(base, 'templates')
Last updated