Let's begin by installation of Django Framework and Python 3: The below command will install both Django Web development Framework and Python 3 packages:
# apt-get install python3-djangoNext, we would like to change the default python version from Python 2.7 to Python 3.4. For this we will use
update-alternatives
command.
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 # update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2The above commands will install Python alternatives to be used by
update-alternatives
command. Python3.4 was given a higher priority 2
and therefore, after the execution of the above commands your default python version should change to:
$ python --version Python 3.4.2otherwise run:
# update-alternatives --config pythonto change your Python version to Python 3.4. Once done you should be able successfully run the following command:
$ python -c "import django; print(django.get_version())" 1.7.1and therefore be able to create a new Django project eg. mysite:
$ django-admin startproject mysiteNext, we need to install MySQL server and relevant database connector. This can be achieved by the below command:
# apt-get install mysql-server python3-mysql.connectorAt this stage we need to create a database eg.
mysite
and user django
with password django-pass
to be connected with our previously created Django project mysite
. Login as root to your MySQL database:
# mysql -pand execute all mysql commands shown below:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database mysite; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER 'django'@'localhost' IDENTIFIED BY 'django-pass'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON mysite.* to django@localhost; Query OK, 0 rows affected (0.00 sec) mysql> quitOnce done locate the
mysite/mysite/settings.py
configuration file within your new Django project directory and change the following lines from:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }to:
DATABASES = { 'default': { #'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'mysql.connector.django', 'NAME': 'mysite', 'USER': 'django', 'PASSWORD': 'django-pass', 'HOST': 'localhost', } }Save the settings and create a MySQL tables to confirm the correctness of your configuration. From within your Django project's root directory run:
$ python manage.py migrate Operations to perform: Apply all migrations: auth, sessions, contenttypes, admin Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying sessions.0001_initial... OKThe above command will create the following MySQL tables:
mysql> show tables; +----------------------------+ | Tables_in_mysite | +----------------------------+ | auth_group | | auth_group_permissions | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_admin_log | | django_content_type | | django_migrations | | django_session | +----------------------------+ 10 rows in set (0.00 sec)Lastly, we confirm the completeness of our Django development setup by starting a development server:
$ python manage.py runserver Performing system checks... System check identified no issues (0 silenced). February 12, 2015 - 15:56:51 Django version 1.7.1, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C
No comments:
Post a Comment