djngo操作ftp
A. django模版,模版上的鏈接,點擊後打開ftp的地址。如何實現
FTP上傳模板這個問題,雖有點不太明你具體疑問!如果,只是想把本地模板上傳到主機空間已安裝好的如WP、DEDE類的程序里去,直接把文件全選上傳到空間程序對應的文件夾去,如Wordpress還可以在後台控制面板添加主題里上傳上去!
B. 什麼是django
Django是用python開發的一個免費開源的Web框架,提供了許多網站後台開發經常用到的模塊,使開發者能夠專注於業務部分。並且囊括的Web應用部分可以用於快速搭建高性能、優雅的網站。並且提供了通用Web開發模式的高度抽象,通過DRY的理念為頻繁進行的編程作業提供了快速解決方法。
Django能在開源發行之後吸引眾多追隨者,離不開它所具備的以下優點:
①齊全的功能。自帶大量常用工具和框架,可輕松、迅速開發出一個功能齊全的Web應用。
②完善的文檔。Django已發展十餘年,具有廣泛的實踐案例,同時Django提供完善的在線文檔,Django用戶能夠更容易地找到問題的解決方案。
③強大的資料庫訪問組件。Django自帶一個面向對象的、反映數據模型與關系型資料庫間的映射關系的映射器,開發者無須學習SQL語言即可操作資料庫。
④靈活的URL映射。Django提供一個基於正則表達式的URL分發器,開發者可靈活地編寫URL。
⑤豐富的模板語言。Django模板語言功能豐富,支持自定義模板標簽;Django也支持使用第三方模板系統,如jinja2等。
⑥健全的後台管理系統。Django內置了一個後台數據管理系統,經簡單配置後,再編寫少量代碼即可使用完整的後台管理功能。
⑦完整的錯誤信息提示。Django提供了非常完整的錯誤信息提示和定位功能,可在開發調試過程中快速定位錯誤或異常。
⑧強大的緩存支持。Django內置了一個緩存框架,並提供了多種可選的緩存方式。
⑨國際化。Django包含了一個國際化系統,Django組件支持多種語言。
C. Django怎麼設置404頁面
404頁面是客戶端在瀏覽網頁時,伺服器無法正常提供信息,或是伺服器無法回應,且不知道原因所返回的頁面。據說在第三次科技革命之前,互聯網的形態就是一個大型的中央資料庫,這個資料庫就設置在404房間裡面。那時候所有的請求都是由人工手動完成的,如果在資料庫中沒有找到請求者所需要的文件,或者由於請求者寫錯了文件編號,用戶就會得到一個返回信息:room 404 : file not found。404錯誤信息通常是在目標頁面被更改或移除,或客戶端輸入頁面地址錯誤後顯示的頁面,人們也就習慣了用404作為伺服器未找到文件的錯誤代碼了。當然實際考證傳說中的room 404是不存在的,在http請求3位的返回碼中,4開頭的代表客戶錯誤,5開頭代表伺服器端錯誤。
D. Django上傳原理求解
隨著網站運作,難免有些時候需要上傳文件。上傳文件自然是上傳到網站所在的伺服器,日積月累,慢慢地網站存儲空間越來越少。而且網站遷移和備份都不方便,使用這些資源時也佔用大量伺服器流量。
較好的解決方案是使用第三方存儲伺服器,例如七牛、阿里雲OSS、亞馬遜S3等。將文件都放到這些存儲伺服器,可以減少伺服器負擔。伺服器只剩下必要的靜態文件和代碼。
以阿里雲OSS為例,講解如何使用第三方存儲伺服器。(剛好最近用到這個,而且Django有其他人寫好的第三方庫)
首先,需要擁有OSS。這個去阿里雲購買即可。購買之後可得到密鑰等一系列信息。
接著,安裝oss2庫,該庫是Python對應oss的操作庫。
這樣設置,點擊文件鏈接,即可下載並且下載文件名是上傳的文件名。若你不是什麼類型文件都需要這么處理,可以判斷filename的後綴名加以處理。
E. 用戶在訪問Django站點時,Django會執行哪些操作
摘要 入 settings.py 和 django 的異常類
F. django models.SlugField 怎麼使用
SlugField欄位是將輸入的內容中的空格都替換成『-』之後保存
Django官方文檔中關於SlugField的描述如下:
class SlugField([max_length=50, **options])
Slug 是一個新聞術語,通常是某些東西的短標簽。一個slug只能包含字母、數字、下劃線或者是連字元,通常用來作為短標簽。通常它們是用來放在URL里的。
像CharField一樣,你可以指定max_length(也請參閱該部分中的有關資料庫可移植性的說明和max_length)。如果沒有指定 max_length, Django將會默認長度為50。
SlugField欄位的Field.db_index自動設置為True。
通常根據另一個值自動生成slug來填充到SlugField的值。你可以在admin中使用prepopulated_fields自動執行此操作。
可以重寫save(),用slugfy方法轉化數據後自動填充到SlugField中。簡單示範如下
classtest(models.Model):
q=models.CharField(max_length=30)
s=models.SlugField()
defsave(self,*args,**kwargs):
self.s=slugify(self.q)
super(test,self).save(*args,**kwargs)
一般多應用於URL正則表達式中的namedgroup,作為參數在視圖和URL之間傳遞
G. django上傳文件到遠程伺服器,怎麼整
使用的是WebClient而不是ftp
首先,我們先來定義一個類UpLoadFile,這個類就是文件上傳類。代碼如下:
public void UpLoadFile(string fileNamePath, string uriString, bool IsAutoRename)
{
int indexOf = 0;
if (fileNamePath.Contains(@"\"))
{
indexOf = fileNamePath.LastIndexOf(@"\");
}
else if (fileNamePath.Contains("/"))
{
indexOf = fileNamePath.LastIndexOf("/");
}
string fileName = fileNamePath.Substring(indexOf + 1);
string NewFileName = fileName;
if (IsAutoRename)
{
NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));
}
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);
if (uriString.EndsWith("/") == false) uriString = uriString + "/";
uriString = uriString + NewFileName;
/// 創建WebClient實例
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
// 要上傳的文件
FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
//FileStream fs = OpenFile();
BinaryReader r = new BinaryReader(fs);
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
H. 怎麼 上傳 django 到伺服器 ftp
一般的空間不支持都是支持.NET或php開發的網站。 python開發的網站要專門租用伺服器才行,當然這樣做成本就太高啦,如果你只是用django做的個人小站,可以上傳到網路或新浪的雲環境,這是最靠譜的解決方案啦。 網路搜索一下「BAE」和「SAE」,去了解
I. 如何windows下nginx+django+flup python3
1、安裝python
下載最新的python版本,在本文撰寫時為 python 3.4,
下載地址:https://www.python.org/ftp/python/3.4.0/python-3.4.0.msi,現在完成後點擊運行,完成python安裝(如c:/python34).
配置python路徑支持,右鍵「計算機」=》「屬性」=》「高級系統設置」=》「高級」=》「環境變數」=》「系統變數」=>"Path"=&
gt;"編輯",在後面追加";c:\python34"。這樣,就可以在命令行窗口下直接運行"python.exe"。運行"cmd",打開一個控制
台窗口,運行"python -V",顯示「Python 3.4.0"即表示成功。
2、安裝Django
下載最新版 Django
1.6.2,下載地址: https://www.djangoproject.com/m/releases/1.6/Django-
1.6.2.tar.gz。下載完成後解壓(例如解壓到"D:\Django-1.6.2")。運行"cmd"打開控制台窗口,切換到"d:
\django-1.6.2",運行"setup.py install",安裝完成後啟動python,輸入"import
django;print(django.VERSION)" 顯示「(1, 6, 2, 'final', 0)」即表示成功。
配置django路徑支持,右鍵「計算機」=》「屬性」=》「高級系統設置」=》「高級」=》「環境變數」=》「系統變數」=>"Path"=&
gt;"編輯",在後面追加";C:\Python34\Lib\site-packages\django\bin"。這樣,就可以在命令行窗口下直接
運行django命令。打開控制台窗口,輸入"django-admin.py -h"顯示幫助信息表示成功。
3、下載Flup
注意要支持python3.x系列的 flup3
,下載地址: https://codeload.github.com/chxanders/flup3/zip/master.zip。解壓後如果運
行解壓根目錄下的setup.py會顯示下載setuptools錯誤。所以直接提取子目錄(flup)並拷貝到python第三方軟體目錄下
(C:\Python34\Lib\site-packages)目錄下即可。
啟動python,運行"import flup;print(flup.__path__)",列印"['C:\\Python34\\lib\\site-packages\\flup']"即表示成功。
4、安裝nginx
下載最新的 nginx - 1.5.13
,,下載地址:http://nginx.org/download/nginx-1.5.13.zip。下載後解壓到一個特定目錄(如C:\nginx)即可。
運行nginx,打開瀏覽器,輸入"127.0.0.1",顯示" Welcome to nginx!"即表示成功。
5、新建項目
運行"cmd"打開控制台窗口,輸入"d:"(假設項目目錄為d:\mysite)切換到d盤。輸入"django-admin.py startproject mysite",這樣就建立了一個名為"mysite"的項目.
6、重定向nginx靜態文件到"mysite"
編輯"C:\nginx\conf\nginx.conf"文件,將其中第一個"... root
html;..."更改為「root d:/mysite/html」。運行"c:\nginx\nginx.exe -s
reload"重新載入nginx。打開瀏覽器,輸入「127.0.0.1」,顯示「404」錯誤。這是因為"d:\mysite\html"目錄及文件
不存在。新建"d:\mysite\html"目錄,並在此目錄下新建一個"hello.html"文件。輸
入"<html><body>Hello</body></html>",保存。打開瀏覽器,輸
入"127.0.0.1/hello.html",應該會顯示"hello"信息。
7、運行django fastcgi服務
打開控制台,進入"d:\mysite"目錄,運行"manage.py runfcgi method=threaded host=127.0.0.1 port=8008".啟動FastCGI服務。
8、修改nginx配置文件「nginx.conf",在第一個server(listen 80)組,做一下修改
#1、注釋默認的頁面位置:
#location / {
# root html;
# index index.html index.htm;
#}
#2、添加 定向所有頁面請求到FastCGI
location / {
root d:/mysite;
fastcgi_pass 127.0.0.1:8008;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
#3、定向靜態頁面請求到頁面目錄中
location ~* \.(gif|jpg|jpeg|html|js|css|png)$ {
root d:/mysite/html;
index index.html index.htm;
}
運行"nginx -s reload"更新配置。
在目錄(d:\mysite\html)下添加頁面文件"hello.html".在瀏覽器中輸入localhost/hello.html將顯示該靜態頁面內容。
9、在瀏覽器中鍵入"localhost"將顯示django歡迎頁面。
J. 如何在伺服器上部署Django項目並使其在後台一直運行
前幾天老師讓我把一個Django項目(爬蟲網頁)放到校園內網上,但是我想先用自己的伺服器來嘗試一下。之前剛好有在Digital Ocean上買過伺服器用來運行ss腳本,平時伺服器一直放著沒啥用,所以就拿它來試驗一下。
廢話不多說,第一步通過WinSCP軟體把Django文件傳到伺服器上。
在伺服器中安裝Django需要的環境和我所需要的Python第三方庫。
以上所有步驟完成後,還需要進行一步操作,這是我經歷的一個 坑 。 打開Django文件目錄中的 settings.py ,把 ALLOWED_HOSTS=[] 改為 ALLOWED_HOSTS=["*"] 。
在伺服器中打開到 manage.py 所在的目錄,輸入命令:
python3 manage.py runserver 0.0.0.0:8000
然後按下回車,在瀏覽器中輸入: 該伺服器IP地址:8000 ,大功告成!
Attention:
1. python3 不是特定的,是根據你的Django項目所需要的環境指定的。
2. 8000 是埠號,可以修改。
如果想要Django項目一直運行,關閉終端後還在運行,即需要運行如下命令, nohup command & , command 即位上文所說的 python3 manage.py runserver 0.0.0.0:8000 。