#django #database-design #maintainability
#django #база данных-дизайн #ремонтопригодность
Вопрос:
Я создаю веб-интерфейс для базы данных в моей школе. В базе данных будут храниться версии академических стандартов нашей школы.
При создании сайта с использованием django создается ли чистая база данных? Например, разработчики веб-сайтов wysiwyg, такие как dreamweaver, создают уродливый html и css-код на серверной части. Мне бы не хотелось видеть подобную степень автоматически сгенерированного мусора в моей базе данных.
Должен ли я создать базу данных сам, а затем создать сайт django для доступа к базе данных, или пойти дальше и позволить django создать базу данных?
Комментарии:
1. Ваш вопрос: помещает ли django html и css в базу данных? Если это ваш вопрос, то ответ таков: нет, django не помещает HTML и CSS в базу данных.
2. Я вижу путаницу. Я знаю, что он не помещает hmtl и css в базу данных. Я хотел спросить, была ли подобная степень сбоя в автоматически сгенерированной базе данных. Я пойду дальше и попробую django.
3. Если вы попробуете Django, убедитесь, что используете South, virtualenv и pip. Я не могу подчеркнуть, насколько полезны эти три инструмента.
Ответ №1:
В любом простом или умеренно сложном приложении Django прекрасно справится с созданием базы данных за вас. Мне еще предстоит столкнуться с какими-либо проблемами с тем, что она создала.
Я бы посоветовал вам использовать South для обработки миграции таблиц. И используйте virtualenv и pip для настройки и обслуживания вашей среды Django.
Ответ №2:
Вы можете использовать sqlall
предикат manage.py
, чтобы увидеть точный SQL, который будет выполнен для создания базы данных.
Ответ №3:
Очевидно, что django нужны таблицы базы данных для его базовой функциональности (contrib.apps).
Конечно, вам не обязательно их использовать, но обычно вы хотите использовать наименьший contrib.auth и некоторые другие приложения в комплекте:
Однако каждое из этих приложений использует по крайней мере одну таблицу базы данных, поэтому нам нужно создать таблицы в базе данных, прежде чем мы сможем их использовать.
В любом случае вы не можете и не должны сравнивать это с уродливым HTML-кодом, сгенерированным dreamweaver или word.
На более абстрактном уровне:
Одна из ключевых концепций веб-фреймворка (следуя шаблону mvc) заключается в том, что вы определяете модели, которые «транслируются» (отображаются) фреймворком в таблицы базы данных.
Модель — это единственный, окончательный источник данных о ваших данных. Она содержит необходимые поля и параметры поведения данных, которые вы сохраняете. Как правило, каждая модель сопоставляется с одной таблицей базы данных.
Если вы хотите создать всю схему базы данных вручную, вы совершенно упустили смысл использования веб-фреймворка. В большинстве случаев вам просто не нужно писать sql
вручную. Вы определяете свои классы, а затем можете запрашивать свои объекты, используя встроенный orm.
Комментарии:
1. Я знаю, что для этого нужны таблицы базы данных. Мне было интересно, создает ли он хорошую чистую структуру базы данных. Спасибо за ваш ответ.