CentOS 7
Ads

Install Django
2015/08/01
 
Install Django which is Python Web Application Framework.
[1] Install some packages.
# install from EPEL

[root@www ~]#
yum --enablerepo=epel -y install python-virtualenv
[2] Install Django under a Virtualenv environment. It's possible to do for any common user.
[cent@www ~]$
virtualenv venv

[cent@www ~]$
cd ~/venv

[cent@www venv]$
source bin/activate

(venv)[cent@www venv]$
pip install django

Downloading/unpacking django
  Downloading Django-1.8.3.tar.gz (7.3MB): 7.3MB downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/django-admin.py from 664 to 775
    changing mode of /home/cent/venv/bin/django-admin.py to 775
    Installing django-admin script to /home/cent/venv/bin
Successfully installed django
Cleaning up...
# the warning above is not a problem
(venv)[cent@www venv]$
django-admin --version

1.8.3
# exit from virtualenv

(venv)[cent@www venv]$
deactivate

[cent@www venv]$
[3] Create a test project.
[cent@www ~]$
cd ~/venv

[cent@www venv]$
source bin/activate
# create "testproject"

(venv)[cent@www venv]$
django-admin startproject testproject

(venv)[cent@www venv]$
cd testproject

# configure database (default is SQLite)

(venv)[cent@www testproject]$
python manage.py migrate
# create admin user

(venv)[cent@www testproject]$
python manage.py createsuperuser

Username (leave blank to use 'cent'):
cent

Email address:
cent@www.srv.world

Password:
Password (again):
Superuser created successfully.
# start server

(venv)[cent@www testproject]$
python manage.py runserver 0.0.0.0:8000

Performing system checks...

System check identified no issues (0 silenced).
August 04, 2015 - 08:09:47
Django version 1.8.3, using settings 'testproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[4] Access to the "http://(server's hostname or IP address):8000/" from a client computer. It's OK if following site is displayed normally.
[5] It's possible to user admin site on "http://(server's hostname or IP address):8000/admin".
[6] Create a test application.
[cent@www ~]$
cd ~/venv

[cent@www venv]$
source bin/activate

(venv)[cent@www venv]$
cd testproject

(venv)[cent@www testproject]$
python manage.py startapp testapp

(venv)[cent@www testproject]$
vi testapp/views.py
# add to the end

from django.http import HttpResponse
def main(request):
    html = '<html>\n' \
           '<body>\n' \
           '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
           'Django Test Page\n' \
           '</div>\n' \
           '</body>\n' \
           '</html>\n'
    return HttpResponse(html)

(venv)[cent@www testproject]$
mv testproject/urls.py testproject/urls.py.org

(venv)[cent@www testproject]$
vi testproject/urls.py
# create new

from django.conf.urls import patterns, url

urlpatterns = patterns('',
    url(r'^testapp/$', 'testapp.views.main'),
)

(venv)[cent@www testproject]$
vi testproject/settings.py
# add testapp

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'testapp',
)
(venv)[cent@www testproject]$
python manage.py runserver 0.0.0.0:8000

[7] Access to the "http://(server's hostname or IP address):8000/testapp/" from a client computer. It's OK if testapp is displayed normally.
 
Tweet