1. 程式人生 > >django搭建網站記錄

django搭建網站記錄

1、建立專案

django-admin startproject mysite

2、啟動伺服器

python manage.py runserver 

python manage.py runserver

3、建立app應用

django-admin startapp blog

4、按照如下教程進行

5、安裝軟體

新建使用者

# 在 root 使用者下執行這條命令建立一個新使用者,yangxg 是使用者名稱
# 因為我叫楊學光,所以我取的使用者名稱是 yangxg
# 選擇一個你喜歡的使用者名稱,不一定非得和我的相同
[email protected]:~# useradd -m -s /bin/bash yangxg

# 把新建立的使用者加入超級許可權組
[email protected]
:~# usermod -a -G sudo yangxg # 為新使用者設定密碼 # 注意在輸密碼的時候不會有字元顯示,不要以為鍵盤壞了,正常輸入即可 [email protected]:~# passwd yangxg # 切換到建立的新使用者 [email protected]:~# su - yangxg # 切換成功,@符號前面已經是新使用者名稱而不是 root 了 [email protected]:~$

更新系統

[email protected]:~$ sudo apt-get update
[email protected]
:~$ sudo apt-get upgrade

安裝軟體

[email protected]:~$ sudo apt-get install nginx
[email protected]:~$ sudo apt-get install git python3 python3-pip
[email protected]:~$ sudo pip3 install virtualenv

啟動nginx

[email protected]:~$ sudo service nginx start

輸入網址可看見nginx歡迎頁面

部署程式碼

部署前的專案配置

在blogproject/settings.py檔案下新增
STATIC_URL = '/static/'
# 加入下面的配置
 # STATIC_ROOT = os.path.join(BASE_DIR, 'static')STATIC_ROOT = '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/'
DEBUG = False
ALLOWED_HOSTS = ['your ip', '.zmrenwu.com']

啟用本地的虛擬環境(如果你使用了虛擬環境的話),並進入專案的根目錄,執行 pip freeze > requirements.txt 命令:

(blogproject_env) C:\Users\yangxg\Workspace\blogproject>
pip freeze > requirements.txt

將程式碼上傳到 GitHub

資料庫檔案不要上傳

[email protected]:~$ mkdir -p ~/sites/demo.zmrenwu.com

建立虛擬環境

[email protected]:~$ cd ~/sites/demo.zmrenwu.com
[email protected]:~/sites/demo.zmrenwu.com$ virtualenv --python=python3 env

檢查虛擬環境是否建立成功

[email protected]:~/sites/demo.zmrenwu.com$ ls
env

從程式碼倉庫把程式碼拉到專案中

[email protected]:~/sites/demo.zmrenwu.com$ git clone https://github.com/zmrenwu/django-blog-tutorial.git

檢查是否拉取成功

[email protected]:~/sites/demo.zmrenwu.com$ ls
django-blog-tutorial  env

安裝專案依賴

啟用虛擬環境,再進入到專案根目錄,即 requirements.txt 所在的目錄,安裝專案的全部依賴:

[email protected]:~/sites/demo.zmrenwu.com$ source env/bin/activate
(env) [email protected]:~/sites/demo.zmrenwu.com$ cd django-blog-tutorial/
(env) [email protected]:~/sites/demo.zmrenwu.com/django-blog-tutorial$ pip install -r requirements.txt

收集靜態檔案

虛擬環境下繼續執行 python manage.py collectstatic 命令收集靜態檔案到 static 目錄下:

(env) [email protected]:~/sites/demo.zmrenwu.com/django-blog-tutorial$ python manage.py collectstatic

生成資料庫

虛擬環境下繼續執行 python manage.py migrate 命令建立資料庫檔案:

(env) [email protected]:~/sites/demo.zmrenwu.com/django-blog-tutorial$ python manage.py migrate

建立超級使用者

虛擬環境下繼續執行 python manage.py createsuperuser 命令建立一個超級使用者,方便我們進入 Django 管理後臺。

(env) [email protected]:~/sites/demo.zmrenwu.com/django-blog-tutorial$ python manage.py createsuperuser

配置 Nginx

先在伺服器的 /etc/nginx/sites-available/ 目錄下新建一個配置檔案

/etc/nginx/sites-available/test.yourname.com

server {
    charset utf-8;
    listen 80;
    server_name test.yourname.com; 
    location /static { 
        alias /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/
    }

    location / { 
        proxy_set_header Host $host;
        proxy_pass http://unix:/tmp/test.yourname.com.socket;
    }
}
sudo ln -s /etc/nginx/sites-available/test.yourname.com /etc/nginx/sites-enabled/test.yourname.com

使用 Gunicorn

在虛擬環境下,安裝 Gunicorn:

(env) [email protected]:~/sites/test.yourname.com/django-blog-tutorial$ pip install gunicorn

用 Gunicorn 啟動伺服器程序:

(env) [email protected]:~/sites/test.yourname.com/django-blog-tutorial$ gunicorn --bind unix:/tmp/test.yourname.com.socket blogproject.wsgi:application

6、遇到的問題

6.1、按照教程操作完之後,頁面仍舊顯示nginx歡迎頁面

(1)進入虛擬環境:

cd ~/sites/test.yourname.com

source env/bin/activate

(2)先重啟nginx:

sudo nginx -s reload

(3)再啟動gunicorn

cd blog
gunicorn --bind unix:/tmp/test.yourname.com.socket blogproject.wsgi:application

6.2、 admin的css、js檔案失效

(1)、找到django靜態檔案的目錄

在env虛擬環境下,命令如下

python   進入python

import django

django.__file__

得到django路徑

比如:'/usr/local/lib/python2.7/dist-packages/django/__init__.pyc' 

那麼需要的路徑即為:/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/ 

(2)、修改settings.py

#STATIC_ROOT = '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/' 

#STATIC_URL = '/static/' 

STATIC_URL = '/static/'

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

(3)、將admin的static檔案裡的內容copy到blog裡的static

cp -r /usr/lib/python2.6/site-packages/django/contrib/admin/static/*  ~/sites/test.yourname.com/blog/blog/static/

(4)、執行命令

python manage.py collectstatic

6.3、__init__() missing 1 required  positional  argument: 'on_delete'

# hbook = models.ForeignKey(BookInfo)

   category = models.ForeignKey('Category', on_delete=models.CASCADE)
    tags = models.ManyToManyField(Tag)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

6.4、重置migrate

刪掉migration(除了_init_.py)裡的檔案

python manage.py makemigrations

python manage.py migrate

相關推薦

django搭建網站記錄

1、建立專案 django-admin startproject mysite 2、啟動伺服器 python manage.py runserver  python manage.py runserver 3、建立app應用 django-admin starta

基於django搭建網站

pan 用戶 目錄結構 配置管理 model ros ger 類名 afa Django 是由Python開發的一個免費的開源web框架,可以用於快速搭建網站。 ps:web框架,也叫web應用框架,提供數據庫接口,標準樣板,會話管理等來支持網站,網絡應用,服務的開發。

Django搭建博客網站(三)

ges his quest don data 列表 context iis 之前 Django搭建博客網站(三) 第三篇主要記錄view層的邏輯和template. Django搭建博客網站(一) Django搭建博客網站(二) 結構 網站結構決定我要實現什麽view. 我

Django搭建博客網站(四)

install fields metadata prev emp conf last devel load Django搭建博客網站(四) 最後一篇主要講講在後臺文章編輯加入markdown,已經在文章詳情頁對markdown的解析. Django搭建博客網站(一) Dja

Django搭建博客網站(二)

mar blank python lan n) htm gpo -m max Django搭建自己的博客網站(二) 這裏主要講構建系統數據庫Model. Django搭建博客網站(一) model 目前就只提供一個文章model和一個文章分類標簽model,在post/mo

Django搭建部落格網站(2)

10、頁面側邊欄:使用自定義模板標籤 我們的部落格側邊欄有四項內容:最新文章、歸檔、分類和標籤雲。這些內容相對比較固定,且在各個頁面都會顯示,如果像文章列表或者文章詳情一樣,從檢視函式中獲取然後傳遞給模板,則每個頁面對應的檢視函式裡都要寫一段獲取這些內容的程式碼,這會導致很多重複程式碼。更

Django搭建部落格網站(1)

一、前言 1.1.環境 python版本:3.6 Django版本:1.11.6 1.2.預覽效果 最終搭建的blog的樣子,基本上滿足需求了。框架搭好了,至於CSS,可以根據自己喜好隨意搭配。 二、建立部落格應用 2.

Django搭建一個網站(1)

由於Scrapy爬蟲得到的結果及視覺化後的圖片需要展示,所以需要Django搭建一個網頁,從零開始學起吧。學習資料:自強學堂:https://code.ziqiangxuetang.com/1.新建一個專案:    進入放置專案的目錄後,在控制檯打出:django-admin

記錄】在 github 上搭建網站的詳細步驟

設定分配很簡單,只要為root設定一個root密碼就行了: $ sudo passwd root 之後會提示要輸入root使用者的密碼,連續輸入root密碼,再使用:$ su 就可以切換成超級管理員使用者登陸了 在ubuntn下調出終端。 一、開始前先更新下,然後安

Django-bootstrap3外掛搭建Django+Bootstrap網站

開啟幫助可以看其具體使用方法: 安裝外掛 pip install django-bootstrap3 在專案settings.py上的INSTALLED_APPS中加入 'bootstrap3,' 在模版中,載入bootstrap3庫,用 bootstrap_*

Django搭建blog網站(一)

一、前言自學地址-->>>>>追夢人物部落格:https://www.zmrenwu.com/post/2/1.1.環境python版本:3.6Django版本:1.11.61.2.預覽效果最終搭建的blog的樣子,基本上滿足需求了。框架搭好了,

azure 虛擬機搭建網站

ima 設置 .cn 網站 http 過程 訪問 img 技術分享 搭建網站的過程就不說了,搭建完居然訪問不了,原來入站規則默認沒http 80 設置一下就好了 azure 虛擬機搭建網站

使用JavaTodo框架快速搭建網站

java環境 一段時間 紀念 新手 網站 收獲 不能 選擇 web 最近一段時間一直忙著做一個網站,這是我們導師接的一個私活,現在基本功能算是完成了。比較有收獲的是了解了JavaTodo框架。寫一些東西留作紀念吧。如果對於同樣是Web方面新手的你有一絲絲幫助。 以前用ser

樹莓派搭建網站

targe log ref == www 密碼 樹莓派 eight blank 1 http://yuhaitao.iok.la 2 http://daydayup11.cn 3 http://yadong.6655.la 4 http://www.yuhaitao.win

初學django搭建一個通訊錄應用

ret normal turn 服務器 制作 ont star left default ---恢復內容開始--- django搭建一個通訊錄應用 一、環境介紹 window10 64位 Django-1.5.12 python 2.7 Sqlite3 二、基本安裝 py

redhat 下搭建網站

img min base star oot 權限 tool 服務 blog 1.修改yum源 把iso重新掛載到/media路徑下,media是個只讀的文件 vi /etc/yum.repos.d/rhel-source.repo //編輯yum源

十年建站老司機帶你十分鐘搭建網站

filezilla dede jpg ubuntu 了解 講解 體會 span ftp工具 本文概要: 1. 域名 + 域名註冊 + 域名備案 + 域名解析綁定 2. 服務器 + 虛擬主機 + windows服務器 +

網站記錄

qiniu team sdk res 百度編輯器 網站 source developer 編輯 百度編輯器文檔地址: http://fexteam.gz01.bdysite.com/ueditor/ http://ueditor.baidu.com/doc/ 七牛雲文

Django1.9.8 + Xadmin + Windows 快速搭建網站

class site pps bject 管理 都是 2.7 ken from 1.創建python虛擬環境   pip install virtualenvwrapper-win   mkvirtualenv env3.4   workon env3.4   deacti

搭建網站服務器

搭建服務器前幾天搭建網站服務器的時候遇見了幾個需要註意的地方IIS安裝內容的時候一定要安裝全了(主要有IIS服務器,.NET框架等)配置網站的時候自定義一個應用池,然後指定網站,接下來開始配置MIME類型,和默認的文檔需要把編輯權限設置一下,不然別人不能訪問。本文出自 “曹曉青” 博客,請務必保留此出處htt