1. 程式人生 > >簡易部落格開發(8)----django1.9 部落格部署到pythonanywhere上

簡易部落格開發(8)----django1.9 部落格部署到pythonanywhere上

準備工作

首先需要註冊一下,pythonanywhere的免費賬戶有一定的限制,只能建立一個web app,不能繫結獨立域名,不能通過ssh連線,不過只是搭一個project也是夠用了。

註冊成功之後直接轉到dashboard頁面

dashboard

幾個tab,Console是新建一個控制檯,用於操作伺服器,Files是用檔案目錄的形式管理和編輯檔案,Web是總的控制介面,Schedule和Database目前還沒用上。

上面這個綠色塊的提示基本上一直都在然而並沒有什麼卵用,轉到Web欄

Web

選擇Add a new web app

新建

提示不能繫結域名blabla的不用管直接next

選擇框架

python的框架有好幾個可以選,但是選django的話有一個很捉急的地方

這裡寫圖片描述

我用的是python2.7+django1.7,在這根本對不上,不過下面有一行貼心的提示,可以使用虛擬環境搭配任意版本的python和django,連結戳進去有比較詳細的虛擬機器配置最新版django的教程,於是就決定用最後一個Manual configuration

這裡寫圖片描述

建立完成之後,現在有了一個空的web app,啥都沒有= =

這裡寫圖片描述

環境配置

接下來可以進行第二步了,在console面板裡開啟一個Bash控制檯

這裡寫圖片描述

之後看上去是這樣子的

這裡寫圖片描述

這裡有必要先說明一下這個伺服器的檔案系統,當然在File面板也可以看到 
在/home/Username/目錄下是這樣的

這裡寫圖片描述

django project的包要放在使用者目錄下,然後通過WSGI configuration file一堆配置blabla才能跑起來 
首先跟著上面提到的教程弄好虛擬環境安裝好django,直接安裝成1.8版本的了- -

這裡寫圖片描述

安裝完之後可以用django的命令新建自己的project,在這裡我直接用git clone下來放在使用者資料夾下。

這個時候興沖沖開啟連結,發現是這樣的

這裡寫圖片描述

說好的django呢。。。 
在web面板注意到這個

這裡寫圖片描述

想到可能是因為用的虛擬環境需要設定一下 
按照示例的格式填進去就好,大概是這樣的格式:

/home/{username}/.virtualenvs/{envname}

這裡寫圖片描述

於是後來是這樣的

這裡寫圖片描述

然後還不忘按照提示reload一遍 
重新整理了一下,還是原樣= =繼續找問題 
這個配置檔案可以說是最關鍵的一步

這裡寫圖片描述

開啟裡面都是各種框架的配置,需要哪個框架就把前面相關的註釋去掉。 
下拉到django的位置

這裡寫圖片描述

去掉註釋和修改相應的資料夾名字,尤其注意settings.py在哪個資料夾下就填到哪個資料夾為止,於是填完是這樣的

這裡寫圖片描述

因為我的資料夾目錄是這樣的

這裡寫圖片描述

這時候再reload加重新整理一遍,可以看到django。。。熟悉的debug介面了。。。

這裡寫圖片描述

事實上今天到這一步的時候我已經在狂喜了,因為終於跑起來了= = 
至於這個bug也是喜聞樂見,在掛SAE的時候就遇到過,因為用到了beautifulsoup這個第三方庫,SAE裡面是沒辦法只能把整個庫傳上去,在這裡只要

pip install beautifulsoup4
  • 1

安裝一下就好了,4.3.2版本 
這個時候再重新整理一下,OK,成功了

這裡寫圖片描述

bug

事實上並沒這麼順利。。。我至少面對某個錯誤介面十幾次找不到問題在哪,後來發現web面板有日誌選項

這裡寫圖片描述

在error.log裡面找bug,先後出現了以下幾種

這裡寫圖片描述

資料夾名沒改好= =

這裡寫圖片描述

可能是django版本還是什麼問題,在settings裡面把這一行註釋掉之後就好了。

這裡寫圖片描述

這個問題一度讓我覺得智商捉急,我以為不能出現sys,於是把程式碼裡所有有關sys的全刪掉了,最後才發現是pythonanwhere的wsgi模組裡面有一個import sys我忘了去掉註釋,導致沒匯入sys模組(:з」∠)神坑啊

這裡寫圖片描述

路徑問題,配置的時候已經說過

總之並不順利,不過在折騰的過程中也收穫了不少。 
總有一天我要把openshift拿下QWQ

更新: 
因為忘了續費導致伺服器掛掉兩次每次都要重新配置,記一下static路徑的格式:

/static/: /home/zhufree/sample/static/

#基本靜態檔案

/static/admin/: /home/zhufree/.virtualenvs/django17/lib/python2.7/site-packages/django/contrib/admin/static/admin/

#django管理系統的靜態檔案

相關推薦

簡易部落開發8----django1.9 部落部署pythonanywhere

準備工作 首先需要註冊一下,pythonanywhere的免費賬戶有一定的限制,只能建立一個web app,不能繫結獨立域名,不能通過ssh連線,不過只是搭一個project也是夠用了。 註冊成功之後直接轉到dashboard頁面 幾個tab,Console是新建一個控制檯,用於操作伺服

部落開發1 渲染html檔案

使用nodejs express渲染html檔案! 第一步:app.js檔案: //應用程式的啟動入口檔案 var express =require('express'); //app = nodejs中的http.createserver(); var app = express();

部落網站8-部落的撰寫頁面

新增新文章: 在template中新增edit.html頁面  <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <titl

C# MVC的部落開發註冊

在做註冊的時候博主遇到了個很坑爹的問題那就是本地傳送郵件正常可是搬運到阿里雲伺服器傳送郵件就gg了查詢了很久才知道阿里雲預設是把25傳送郵件埠給封了也就是說放在阿里雲伺服器的傳送郵件是無法以無ssl加密的方式傳送的,必須通過ssl家裡的465埠去傳送郵件然後我們呼叫封裝好Ma

Linux驅動開發8——靜態和動態申請字元裝置

先貼一段demo #include <linux/init.h> /*包含初始化巨集定義的標頭檔案,程式碼中的module_init和module_exit在此檔案中*/ #include <linux/module.h> /*包含初始化載入模組的標頭檔案,程

Android studio3.0對於百度地圖api開發8——百度地圖開發思考

       隨著對於百度地圖SDK的不斷深入,對於百度地圖的基本操作以及實現,每一塊功能就像是一個個工具,他們功能不同,又能相互組合,這就為我們開發者提供了一個很好的平臺,在這個平臺,開發人員可以進行根據自己的需求進行組裝。為了更好的交流,相互學了,我也賺點積分吧!O(∩_

微信小遊戲開發8-模組化

模組化 小程式提供了CommonJS風格的模組API,可以通過module.expotrs和exports匯出模組,通過require引入模組。 我們在根目錄下新建資料夾src,再在src中新建資料夾util,在util中新建module.js。 |----src | |---

四國軍棋引擎開發8主要變例提取

alpha-beta剪枝演算法對著法的搜尋順序有比較高的要求,最好是先搜尋好的著法再搜尋壞的著法,這樣就可以最大程度的進行剪枝。 在搜尋前我們當然不知道著法的優劣,如果知道了那就不需要搜尋了,但我們搜尋時是一層層遞進的,上一層搜尋到的最佳著法在這一層來說也相對較

Kinect開發8SpeechBasics-D2D not building properly

打算試試語音跑了例程,語音來源方向能夠正常測試,程式也比較簡單,音訊資料來源獲取結構和之前幾種資料來源都差不多但是下了SpeechBasicD2D的C++例程,就沒辦法正常執行Debug選Win32的時候就提示:“This sample was compiled agains

資料庫開發8索引與雜湊

1、有兩種基本的索引型別: 順序索引:基於值的順序排列。 雜湊索引:基於將值平均分佈到若干雜湊桶中。一個值所屬的雜湊桶是由一個雜湊函式決定的。 2、對於技術選用基於以下因素考慮: 1)訪問型別:訪問型別可以包括找到具有特定屬性值的記錄,以及找到屬性值落在某個特定範圍內的記錄

Android studio 百度地圖開發8地圖已標記POI點和搜尋POI點的獲取和利用

一.簡要描述 百度地圖的POI點可以分有兩種:地圖中已經標記的點和通過關鍵詞搜尋得到的POI點。對於這兩種POI點,百度封裝成了不同的類和介面來實現監聽,下面簡單講一點。 二.地圖中已標記POI點 首先遇到的第一個問題就時如何獲取已標記點的資訊,在百

多媒體開發8:調試FFmpeg

run 包括 啟用 return tar.bz2 %d 參考 efi turn 編譯FFmpeg得到二進制文件,之後就是對二進制庫的調用,這時FFmpeg就像一個黑盒子。作為程序員,難道不想研究一下FFmpeg的具體實現?比如是怎麽拿到歌曲信息的、怎麽解碼的、怎麽推流的,等

搭建自己的技術部落系列把 Hexo 部落部署到 GitHub

1、在GitHub上建一個新倉庫 ​ 2、配置Git的SSH KEY 生成SSH新增到GitHub 回到你的git bash中, git config --global user.name "yourname" git config --global user.email "youremail" 這裡的y

多媒體開發8:除錯FFmpeg

編譯FFmpeg得到二進位制檔案,之後就是對二進位制庫的呼叫,這時FFmpeg就像一個黑盒子。作為程式設計師,難道不想研究一下FFmpeg的具體實現?比如是怎麼拿到歌曲資訊的、怎麼解碼的、怎麼推流的,等等。 看原始碼是理解程式碼實現的一個辦法,而單步除錯能從另一個維度去幫到你。**本文介紹如何單步除錯FFm

用flask開發個人部落8—— flask中的模板

        一般而言,檢視函式中存在兩種邏輯,業務邏輯和表現邏輯。業務邏輯諸如我們在登入頁面時輸入使用者名稱和密碼後,點選確定按鈕時,在資料庫驗證該使用者名稱和密碼是否正確. 表現邏輯就是返回正確

NodeJS簡易部落系統後臺管理實現及專案總結

功能描述及流程在上一篇已經說明,現在來寫具體實現過程。 一、頁面實現 (1)模板 首頁模板main_template.html <!DOCTYPE html> <html lang="en"> <head> <

NodeJS簡易部落系統功能需求描述及使用者模組實現

一、功能需求描述 用一張導圖來說明: 二、頁面設計 頁面設計如下: 三、梳理下整個系統的業務流程 對這個小專案進行業務流程的梳理,流程圖大致如下: 四、使用者模組實現 1、資料庫設計及程式碼 (1)使用者表(users) (2)博文分類表(

NodeJS簡易部落系統express框架入門學習

一、安裝及demo 如果已經裝好webstorm,直接新建專案如下: 否則cd到專案目錄下,使用npm install express --save即可完成安裝。 demo: var expr

NodeJS簡易部落系統NodeJS入門學習

一、網路程式設計 1、小試牛刀 NodeJS本來的用途是編寫高效能Web伺服器。首先在這裡重複一下官方文件裡的例子,使用NodeJS內建的http模組簡單實現一個HTTP伺服器。 var http = require('http'); http.createSe

NodeJS簡易部落系統NodeJS入門學習

一、模組 在NodeJS中,一般將程式碼合理拆分到不同的JS檔案中,每一個檔案就是一個模組,而檔案路徑就是模組名。在編寫每個模組時,都有require、exports、module三個預先定義好的變數可供使用。 1、require require函式用於在當前模組中載入和使用別的模組,傳