Na przykładzie Fedory 33 (na CentOS jest tak samo) oraz MariaDB. Nazwę użytkownika w bazie danych najlepiej mieć taką samą, jak w /etc/passwd.
# sudo dnf install mariadb mariadb-server mariadb-devel # sudo systemctl start mariadb # sudo mysql_secure_installation # mysql -u root -p > create user 'lukasz'@'localhost' identified by 'tajnehaslo'; > grant all privileges on *.* to 'lukasz'@'localhost' with grant option; > create user 'project'@'localhost' identified by 'tajnehaslo2'; > create database project; > grant all privileges on project.* to 'project'@'localhost'; > grant all privileges on test_project.* to 'project'@'localhost'; > exit;
# mkdir -p project/app # cd project # python3 -m venv . # source bin/activate # pip install --upgrade pip # pip install django mysqlclient # cd app # django-admin startproject project
Poprawić konfigurację dla bazy danych.
#DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } #} DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'project', 'USER': 'project', 'PASSWORD': 'tajnehaslo2', 'HOST': 'localhost', # Or an IP Address that your DB is hosted on 'PORT': '3306', } }
# python manage.py runserver