FBVとCBV
参考サイト
https://www.cnblogs.com/liwenzhou/articles/8305104.html#autoid-1-1-0
リクエストオブジェクト
参考サイト
https://www.cnblogs.com/liwenzhou/articles/8305104.html#autoid-2-0-2
アップロードファイルの例
def upload(request):
"""
保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件的全部内容读进内存。从内存读取一次,写磁盘一次。
但当上传文件很大时,django会把上传文件写到临时文件中,然后存放到系统临时文件夹中。
:param request:
:return:
"""
if request.method == "POST":
# 从请求的FILES中获取上传文件的文件名,file为页面上type=files类型input的name属性值
filename = request.FILES["file"].name
# 在项目目录下新建一个文件
with open(filename, "wb") as f:
# 从上传的文件对象中一点一点读
for chunk in request.FILES["file"].chunks():
# 写入本地文件
f.write(chunk)
return HttpResponse("上传OK")
#上传文件示例代码
ジャンゴJSON形式で出力
view.py、ビュー
def json(request):
from django.http import JsonResponse
from json import dumps
data = {
'素还真' : "半神半圣亦半仙",
'一叶书' : "笑尽英雄",
'叶小钗' : "啊",
}
data_str = dumps(data,ensure_ascii=False,sort_keys=True, indent=4, separators=(',', ':'))
return HttpResponse(data_str,content_type="application/json")
# return HttpResponse(data_str,)
# return JsonResponse(data)
ジャンゴアップロードファイル
def upload(request):
if request.method == "POST":
# 获取文件名称
filename =request.FILES['filename'].name
print(filename)
# 获取文件上传集合
print(request.FILES)
# 取上传的单个文件进行写入操作
with open(filename, "wb") as f:
# 以每个chunks为单元写入磁盘
for i in request.FILES['filename'].chunks():
f.write(i)
# 返回响应值
return HttpResponse("上传OK")
# return HttpResponse("ok")
else:
return render(request,'user/upload.html')
ルーティングシステム
http://www.cnblogs.com/liwenzhou/p/8271147.html
- ファジーマッチする正規表現
- パケットマッチ - >ビュー関数に渡された位置パラメータに対応
- パケット名・マッチング- >機能に対応するビューに渡されたキーワード引数
(2混在させないでください)
逆引き参照URL
URLパターンマッチングの別名に、本質的には、その後、特定のURLパスを取得するためにエイリアスを使用
- どのようにエイリアス?
URL一致パターン、定義名=「エイリアス」に - どのように使用するには?
- どの言語のテンプレートで:
{%のURL "エイリアス" %} - >特定のURLパスが得られ ビューで使用する方法:
リバース(「エイリアス」) - >特定のURLパスを与えるために、
django.urlsインポートリバースから
- どの言語のテンプレートで:
- どのようにパラメータを渡すには?
- テンプレート言語:
{%のURL "エイリアス" 2018 "NB" %} ビュー関数で
キーワードのパラメータが渡さ:
セッター位置パラメータ:
リバース( "エイリアス"、引数=(2018、 " NB"))
リバース( "エイリアス" kwargsから= { "年": 2018、 "タイトル": "NB"})
- テンプレート言語:
- 名前空間は、
パターンマッチング、重複エイリアスを以下の別のURLアプリを防ぐために