Django

一 安装

1.安装python3.5

# cd /usr/local/src/Python-3.5.0
# ./configure --prefix=/usr/local/python3.5/
# make && make install

python上下翻命令 需要安装rlwrap

alias python3='rlwrap python3'

2. 安装Django

下载安装包Django-1.8.8.tar.gz

# cd /usr/local/src/Django-1.8.8
# python3 setup.py install

二 配置

创建第一个项目

# mkdir /django
# cd /django # django
-admin startproject mysite
# cd mysite
# tree
.
|-- mysite
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py

目录说明:

  • mysite: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • mysite/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • mysite/settings.py: 该 Django 项目的设置/配置。
  • mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

配置数据库连接

vim /django/mysite/mysite/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '192.168.1.111',
        'USER': 'root',
        'PASSWORD': 'root',
        'NAME': 'pydb',
    }
}

创建app

# cd /django/mysite/mysite/
# python3 manage.py startapp blog

在/django/mysite/mysite/settings.py中添加该app

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
)

多个app的情况下配置url

在project总体的urls.py (/django/mysite/mysite/urls.py) 中引入每个app的url配置文件,不同的url路径在各自的配置文件中分别配置

/django/mysite/mysite/urls.py

from django.conf.urls import include, url
from django.contrib import admin
import blog
import polls
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^blog/', include('blog.urls')),
    url(r'^polls/', include('polls.urls')),
]

/django/mysite/blog/urls.py

from django.conf.urls import include, url
from django.contrib import admin
from blog import views

urlpatterns = [
    url(r'^hello/', views.hello),
]

参考网页 https://blog.csdn.net/chenshaopeng1234/article/details/72869130

三 启动Django

# cd /django/mysite/
# python3 manage.py runserver 192.168.1.31:8000

启动后可以在通过浏览器访问 http://192.168.1.31:8000

四 uwsgi + nginx

1. 安装nginx 

2. 安装uwsgi

# pip install uwsgi

在目录/django/mysite/mysite/ 下创建一个配置文件uwsgi.ini

# cat uwsgi.ini 

[uwsgi]
# 配置服务器的监听ip和端口,让uWSGI作为nginx的支持服务器的话,设置socke就行;如果要让uWSGI作为单独的web-server则用http
#http=192.168.1.31:8000
socket=127.0.0.1:8000
#project的根目录
chdir=/django/mysite 
wsgi-file=mysite/wsgi.py
master=True
processs=2
daemonize=/data/logs/wsgi.log

启动uwsgi

# uwsgi --ini uwsgi.ini

修改nginx配置

        location / {
            include uwsgi_params;
            uwsgi_connect_timeout 30;
            uwsgi_pass 127.0.0.1:8000;
        }

        location /static {
            alias /django/mysite/all_static;
        }

启动nginx,此时已经可以访问了

但是登陆django的admin后台管理界面,网页的静态文件无法找到。

那是因为我们在前面设置nginx的静态文件目录时,static目录下一般只是我们项目应用开发中自己的静态文件,但是django后台admin用到的静态文件并不在这,所以找不到。所以我们需要把所有的静态文件打包放在一个目录下。

首先在settings.py中加入一条配置,指定所有静态文件的根目录

STATIC_ROOT = os.path.join(BASE_DIR,'all_static')

通过命令将静态文件同步到设置好的根目录下,该操作会覆盖存在的文件

# cd /django/mysite/
# python3 manage.py collectstatic

 

posted @ 2018-06-14 00:06  运煤ing  阅读(190)  评论(0编辑  收藏  举报