django搭建示例-ubantu环境

python3安装
--------------------------------------------------------------------
-------

最新的django依赖python3,同时ubantu系统默认自带python2与python3,这里单独安装一套python3,并且不影响原来的python环境

django demo使用sqlite3,即python中的一个模块,所以必须在安装 python前先安装sqlite3

下载最新的sqlite3解压并安装,root用户下操作

cd sqlite-snapshot-201905242258/
./configure -prefix=/usr/local/sqlite3
make
make install


vim /etc/profile
export PATH=/usr/local/sqlite3/bin:$PATH

source /etc/profile
sqlite3 versiion
SQLite version 3.29.0 2019-05-24 22:58:16
Enter ".help" for usage hints.

然后进行python的安装,以后的操作皆在普通用户下执行,必要时会使用sudo

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
apt-get install gcc

python源码安装
--------------------------------------------------------------------------------
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar -zxvf Python-3.7.3.tgz
sudo mv Python-3.7.3 /usr/local/
cd Python-3.7.3/

source /etc/profile
./configure --prefix=/usr/local/python37
make
make install

setuptools
-----------------------------------------------------------------
wget https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip
unzip setuptools-41.0.1.zip
sudo python setup.py install


pip
--------------------------------------------------------------
tar -zxvf pip-10.0.1.tar.gz
cd pip-10.0.1/
sudo /usr/local/python37/bin/python3 setup.py install


更新pip
/usr/local/python37/bin/pip  install --upgrade pip
# pip --version
pip 19.1.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

在普通用户下配置Python

------------------------------------------------------------------
sudo mkdir /disk
cd /disk
mkdir python37
cd python37/
mkdir bin
cd bin/
sudo ln -s /usr/local/python37/bin/python3.7 python
将安装的python映射到普通用户下,这样只有该用户环境为Python3 环境
cd
vim .bashrc
export PATH=/disk/app/python37/bin:/usr/local/python37/bin:$PATH
source .bashrc

python安装结束,并且配置一个普通用户的python3环境,并未影响其他用户的默认python环境,这意味着如果你的服务器上有一些python脚本在运行,本次操作对这些程序无任何影响

django安装
---------------------------------------------------------------------------
安装后可以使用一系统的django命令,如果已经安装过则不需要再次安装

存在命令即表示已经安装过
$ which  django-admin
/usr/local/python37/bin/django-admin

否则进行安装
mkdir /disk/test_dj
cd /disk/test_dj
git clone https://github.com/django/django.git
pip install -e django/

新建一个项目
------------------------------------------------------------------------
cd
mkdir code
cd code/
django-admin startproject mysite

fei@ubuntu:~/code$ cd mysite/
fei@ubuntu:~/code/mysite$ ls
manage.py  mysite

$ vim mysite/settings.py
DEBUG = True
ALLOWED_HOSTS = ['*']


下面的启动需要sqlite3
python manage.py runserver 0:8302

http://127.0.0.1:8302/


新建应用
------------------------------------------------------------------------

设置模板路径
html页面的加载默认以模板路径为根,其中BASE_DIR为django自带变量
mkdir templates
vim mysite/settings.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates",],


创建应用
python manage.py startapp polls

编辑视图
vim polls/views.py
from django.shortcuts import render
from django.http import HttpResponse


def index(request):
    return HttpResponse("你好")

def demo(request):
    return render(request, 'demo.html')

def ok(request):
    return HttpResponse("OK")
                             
创建页面
创建视图中的跳转页面demo.html
vim templates/demo.html
<html>
        <body>
                <h1>哈哈哈</h1>
        </body>
</html>


配置路径
vim polls/urls.py
from django.conf.urls import include, url

from . import views

urlpatterns = [
    #url(r'^index', views.index, name='index'),
    url(r'demo',views.demo,name='demo'),
    url(r'ok',views.ok,name='ok')

]

主项目路径
在应用中创建urls.py文件管理路径
将polls模板的路径添加到主项目中
vim mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin


urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'polls', include('polls.urls',namespace="pools")),
]



启动并访问
python manage.py runserver 0:8308

http://127.0.0.1:8308/polls/demo

原文地址:https://www.cnblogs.com/perfei/p/11017309.html