django部署

1、經常使用命令css

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc wget

wget "https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz"

tar -zxvf Python-3.6.1.tgz

cd Python-3.6.1

mkdir /usr/python3.6

./configure --prefix=/usr/python3.6

make && make install

mv /usr/bin/python python.bak

mv python1.bak /usr/bin/python

ln -s /usr/python3.6/bin/python3 /usr/bin/python

vi /usr/bin/yum


vi /usr/libexec/urlgrabber-ext-down

yum install deltarpm


rm -r 文件夾名
ln -s /usr/local/bin/pip3 /usr/bin/pip
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
sudo ln -s /usr/bin/python3 /usr/bin/python
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7

https://askubuntu.com/questions/61254/how-to-update-gcc-to-the-latest-versionin-this-case-4-7-in-ubuntu-10-04html

ubuntu16.04中將python3設置爲默認:python

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

若是要切換到Python2,執行:c++

sudo update-alternatives --config python
# 1. 建立更改的文件
python manage.py makemigrations
# 2. 將生成的py文件應用到數據庫
python manage.py migrate

 

2、django處理靜態文件sql

靜態文件指的是js css 還有圖片這些,配置方法以下數據庫

1. 在設置文件(settings.py)中,installed_apps中添加 django.contrib.staticfilesdjango

    而後設置static_url  ubuntu

STATIC_URL = '/static/'

2. 在模板中的使用方式以下  app

{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>

 

這種方式提供的是一種相對路徑,當你將環境切換到CDN的時候會方便不少ui

固然也能夠用簡單一些的方法---直接提供一個靜態文件的url,不過在CDN中就要修改才能夠使用了

/static/my_app/myexample.jpg

 

3. 把你的文件都放在一個文件夾下,好比

my_app/static/my_app/myimage.jpg

 

注:當debug設置True的時候上面的方法能夠,可是False的時候會提示not found的錯誤 

 

當debug設置爲Fales的時候,設置方法以下(增長靜態文件url,使用 django.contrib.staticfiles.views.serve()來尋找靜態文件):

from django.conf import settings
from django.conf.urls.static import static
 
urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

 

注:也不推薦實際環境中用  

 

當你有多個靜態文件目錄的時候能夠使用下面的方式,設置STATICFILES_DIRS:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

 

注:django尋找靜態文件默認找到地一個就會返回,再也不進行後續查找,因此要注意安排順序及目錄 

 

 部署的步驟:

1. 設置STATIC_ROOT:

STATIC_ROOT = "/var/www/example.com/static/"

 

2. 執行collectstatic命令:

$ python manage.py collectstatic

 

這會把靜態文件拷貝到你設置的static_root目錄下(這樣能夠更方便的和nignx集成,權限管理也更方便)

  

參考連接見(django文檔最詳細):

http://blog.csdn.net/WaitForFree/article/details/39815507

http://blog.sina.com.cn/s/blog_6c663fa50101gope.html

https://docs.djangoproject.com/en/1.9/howto/static-files/

https://docs.djangoproject.com/en/1.9/ref/contrib/staticfiles/#django.contrib.staticfiles.views.serve      

相關文章
相關標籤/搜索