Django для создания и изменения базы данных mysql в учебных целях

Я склоняюсь к языку программирования Python. У меня нет проблем с Python. Я читаю официальную документацию по Python и могу писать небольшие программы на Python. Я хочу ознакомиться с базой данных mysql, потому что она полезна для изучения концепций разработки программного обеспечения. Я установил базу данных mysql и Django на свой компьютер. У меня установлены Ubuntu 14.04 и Python 3.4. Я настроил параметры Django для использования базы данных mysql. Я протестировал подключение Django к базе данных mysql, и все работает правильно.

Я полный новичок в веб-разработке. Я не создавал свой собственный веб-сайт и не начинал разработку веб-приложений.

Моя цель в настоящее время — освоить создание базы данных и таблиц mysql, внесение изменений/миграций/запросов, использование моделей Django и Python.

Разумно/возможно ли использовать Django ORM для работы с базой данных mysql без одновременной разработки веб-приложения/локального приложения? Как я уже сказал, у меня нет собственного сайта. Я хочу просто попробовать использовать mysql и Django вместе на своем компьютере, чтобы получить более глубокие знания о Django и mysql в этом отношении.

Моей конечной целью является разработка на Python, в том числе работа с базой данных mysql.

Mysql без Python и Django для меня бесполезен.


person just_learning    schedule 02.01.2018    source источник
comment
Используйте слайт. Будет лучше для учебных целей, в основном, если вы хотите лучше узнать о django. Когда я создаю что-то новое, я только начал с sqlite, потому что мне не нужно беспокоиться о конфигурациях баз данных, установке и т. д. Команды Sqlite просты в использовании и понятны. PROJECT_DIR = os.path.abspath(os.path.dirname(file)) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(PROJECT_DIR, 'yourdatabasename.db'), } }   -  person Andre Araujo    schedule 02.01.2018
comment
Используйте слайт. Будет лучше для целей обучения - это худший совет для тех, кто хочет учиться и использовать rdbms.   -  person bruno desthuilliers    schedule 02.01.2018
comment
Mysql без Python и Django для меня бесполезен => вы не можете рассчитывать на правильное использование моделей Django (часть ORM), если вы не понимаете, как они транслируются на уровне базы данных (схема, запросы и т. д.) и не имеете понятие правильного проектирования схем реляционных баз данных. Но если вы действительно настаиваете на том, чтобы тратить свое время впустую, пожалуйста, продолжайте...   -  person bruno desthuilliers    schedule 03.01.2018


Ответы (1)


Если вы хотите изучить и использовать MySQL, начните без чего-либо сверх этого — без Django, без ORM, даже без скрипта Python. Научитесь настраивать свой сервер mysql (я имею в виду серверный процесс - не обязательно должен быть на отдельном компьютере), работать с клиентом mysql из командной строки (создание базы данных, создание/изменение таблиц, добавление/обновление/удаление строк, и, самое главное, выполнение простых и сложных запросов).

Пока вы этим занимаетесь, узнайте о правильном моделировании реляционных данных (нормализации и т. д.), чтобы вы полностью поняли, как проектировать свои схемы.

Как только вы освоитесь с этим, потратьте некоторое время (на данный момент должно быть довольно быстро), научившись делать то же самое из скриптов python с коннектором mysql вашей версии python.

Тогда, если вы хотите изучить веб-разработку и Django, дерзайте. ORM довольно прост в использовании, когда вы уже хорошо понимаете, что происходит внутри, поэтому к тому времени у вас не должно возникнуть особых проблем с этой частью. Что вам все равно придется изучать, так это протокол HTTP (попытка заниматься веб-программированием без понимания протокола HTTP подобна попытке выиграть автомобильную гонку, не зная, как водить машину — это не технически невозможно). но это может оказаться очень болезненным опытом), затем внешний интерфейс (html/css/javascript) и, наконец, части представлений/шаблонов Django (что должно быть легко, если вы знаете HTTP и html).

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

person bruno desthuilliers    schedule 02.01.2018
comment
Как я уже сказал, я изучаю Python. Основная цель — научиться программировать. Поэтому концепции mysql полезны в сочетании с Python и Django. Я узнал о том, что профессиональные разработчики специально не изучают язык sql. Более того, они не считают его полноценным языком программирования. - person just_learning; 02.01.2018
comment
Я работаю профессиональным разработчиком вот уже 20 лет и могу заверить вас, что концепции mysql (на самом деле: концепции реляционных баз данных — существует довольно много других баз данных SQL) полезны сами по себе. SQL на самом деле не является языком программирования, но как только ваш код взаимодействует с базой данных SQL, вам необходимо знать, как использовать эту базу данных SQL. Научиться использовать его вручную быстрее, это позволит вам тестировать/отлаживать свои запросы, вообще не касаясь кода вашего приложения, и в конечном итоге может помочь вам отладить проблемы с вашим ORM (если вы его используете). - person bruno desthuilliers; 02.01.2018
comment
Просто для ясности: SQL здесь является частью экранного тестирования на должности разработчиков. Если вы не знаете SQL, вас не возьмут на работу. Это так просто. - person bruno desthuilliers; 02.01.2018
comment
Спасибо за мнение. Я хочу сразу перейти к Django и mysql одновременно. :) У меня вопрос, можно ли без разработки определенного приложения. - person just_learning; 02.01.2018
comment
Эээ... Как бы вы научились реализовывать проект на основе django, не выполняя проект на самом деле? - person bruno desthuilliers; 03.01.2018