A. python Django 中xb3xc9x8cmxa5xebxa5xea 這種編碼怎麼處理
['xd2xd2xc8~xa4xcaxa4xcaxa4xbb']#這是一個列表為例,如果是字元串的話,需要eval轉成list,在進行對應操作
方法如下
print['xd2xd2xc8~xa4xcaxa4xcaxa4xbb'][0].replace("x","\x").decode("string-escape").decode("gbk")
乙葉ななせ
B. 怎麼在django中獲取URL上的參數
在django中獲取URL上的參數:
URL='admin/action?name=xxx&pwd=xxx' 以上格式中,name和pwd是html中表單標記的id,比如一個input的ID。xxx代表一個值,可以是固定,也可以是js獲取的input輸入框的值等。
C. Django如何接收curl命令傳來的文件上傳請求
呵呵 用命令怎麼可以上傳文件夾的 先用 MD 命令建立一個文件夾 再用 PUT 命令將其餘的文件上傳吧 一個個的來 \r\n如果嫌麻煩 還是去DOWN一個FTP的客戶端軟體 如flashxp 圖形界面 選中全部一拖....\r\n\r\n有一個方法可以達到你的要求 不過還是有些麻煩 \r\n將你所有要傳輸的的命令寫到一個文本文件中,然後用FTP的命令進行調用 \r\n所以你必須將所有上傳文件的命令寫好 雖然在記事本里寫比在CMD下寫方便 但文件多了還是比較麻煩\r\n你如果可以接受這個方法的話我再詳細的打吧
D. 怎麼用django獲取post提交的xml數據
request.raw_data 這個是獲取 post提交的原始數據
然後使用 python自帶的xml處理一下就可以
E. Django接受前端數據的幾種方法
字元型
字元型的數據相對好獲取,前端傳遞的方法如下:
sendData = {
"exporttype": exporttype,
"bugids": bugids,
"test": JSON.stringify({"test": "test"})
};
在Django的後端只要使用exporttype = request.GET.get("exporttype")
就能正常的獲取到這個數據了。
注意: 在Python2.7中數據是unicode編碼的,如果要使用,有時候需要進行轉str
結果示例:
Excle <type 'unicode'>
數組型
獲取數組型的數據如果使用獲取字元串的數據的方法,打出的結果是None。我們要使用這個方法:
bugids = request.GET.getlist("bugids[]")
這樣獲取的數據就是數組類型。
注意: 獲取的數組中的元素是unicode編碼的,在某些時候使用需要轉編碼
結果示例:
•傳遞的url
[14/Jul/2016 11:00:41]"GET /testtools/exportbug/?exporttype=Excle&bugids%5B%5D=102&bugids%5B%5D=101&bugids%5B%5D
•獲取的數據
[u'102', u'101', u'100', u'99', u'98', u'97', u'96', u'95', u'94', u'93', u'92', u'91', u'90', u'89', u'88', u'87'
字典型
字典型數據其實可以當成字元串數據來處理,獲取到對應字元串後使用JSON模塊做一下格式化就行了。
對於前端來說,傳遞字典型的數據就是傳遞JSON數據,所以使用的方法是:
"test": JSON.stringify({"test": "test"})
結果示例:
{"test":"test"} <type 'unicode'>
相關源碼
•Get方法
Get方法是wsgi裡面的一個方法。
def GET(self):
# The WSGI spec says 'QUERY_STRING' may be absent.
raw_query_string = get_bytes_from_wsgi(self.environ, 'QUERY_STRING', '')
return http.QueryDict(raw_query_string, encoding=self._encoding)
最終返回的是一個http.QueryDict(raw_query_string, encoding=self._encoding)http的原始數據,而QueryDict繼承於MultiValueDict ,所以我們直接看MultiValueDict就好了。
•MultiValueDict
其實源碼看起來並不難。
def get(self, key, default=None):
"""
Returns the last data value for the passed key. If key doesn't exist
or value is an empty list, then default is returned.
"""
try:
val = self[key]
except KeyError:
return default
if val == []:
return default
return val
def getlist(self, key, default=None):
"""
Returns the list of values for the passed key. If key doesn't exist,
then a default value is returned.
"""
try:
return super(MultiValueDict, self).__getitem__(key)
except KeyError:
if default is None:
return []
return default
def __getitem__(self, key):
"""
Returns the last data value for this key, or [] if it's an empty list;
raises KeyError if not found.
"""
try:
list_ = super(MultiValueDict, self).__getitem__(key)
except KeyError:
raise MultiValueDictKeyError(repr(key))
try:
return list_[-1]
except IndexError:
return []
F. Django中對於上傳的文件的保存方法(時間+文件名)
這是在windows環境下,且要加入上傳時間,與本來的文件名拼在一起,形成一個整個的文件名,所以,其必須將文件名放在最後,而將時間放在前面,避免與後綴名沖突,除此之外,還要使用time.time()方法,取得時間戳(格式化時間會與windows系統產生沖突),並且最好進行取整,然後再將其轉化為字元串與文件名拼起來組成新的文件名,從而進行保存。實例如下:
G. django下載文件,從FTP獲取文件
原因:由於FTP需要登錄無法從直接從FTP直接獲取文件,
解決:通過後獲取FTP文件,再通過文件流傳輸給前台
1:django後台:
2.VUE前台
H. django怎麼上傳文件到資料庫
這個做法,是從新建資料庫開始的,對於新建資料庫 DJANGO會自己在 表名前加一個前綴,所以跟你自己建立的表是不一樣的。不信看下資料庫中的表。
至於怎麼用現有資料庫表,可以自己查下,DJANGO連接現有表的操作步驟,
I. django實現文件上傳到伺服器
response = requests.post(PATH, data={'document_name': document_path, 'file': base64.b64encode(file.read())}) 這個方法其實就是將文件信息和轉成base64的文件發到伺服器那邊,那邊就是以下的方法存入伺服器
文件存入本地的方法
J. django python上傳文件有中文名稱報錯
1) 看錯誤堆棧,是不是編碼問題
2) 把處理的地方用try except包圍起來,嘗試轉換為可以正常使用的編碼方式。
比如gbk和utf-8轉換什麼的做一下就沒問題了。