移動端實現專案
阿新 • • 發佈:2018-11-25
1 引言
利用Hbuilder盡行手機app開發,有以下幾點好處:
(1)已有的web專案可以很快速的改成手機app
(2)開發一次雙端執行(ios,安卓)
(3)開發簡單,會基本的html就能開發
2 具體實現
其實與之前寫的B/S相似,手機端主要實現圖片上傳功能,而後臺則根據上傳的圖片進行分類查詢資料庫返回結果。這裡我將後臺的識別結果頁面整體返回(可以理解成將後臺頁面嵌在app中)。一下是主要部分程式碼實現:
(1)html部分
<form action="http://39.107.81.82:80/appupload/" method="post" enctype="multipart/form-data" >
<input type="file" class="pic" id="img" name="pic1">
<button type="button" class="btn" id="tp">選擇圖片</button>
<br />
<div class="sub"><input type="submit" id="sub"/></div>
<button type="button" data-loading-text="識別中" id="tt" class="btn mui-btn" >識別種類</button>
</form>
(2)後臺處理
def appupload(request):
if request.method == "POST":
f1 = request.FILES['pic1']
# 用於識別
fname = '%s/pic/%s' % (settings.MEDIA_ROOT, f1.name)
with open(fname, 'wb') as pic:
for c in f1.chunks():
pic.write(c)
# 用於顯示
fname1 = './static/img/%s' % f1.name
with open(fname1, 'wb') as pic:
for c in f1.chunks():
pic.write(c)
num = testcat(f1.name)
if (num == 0):
num = 4
# 通過id獲取貓的資訊
name = models.Catinfo.objects.get(id = num)
return render(request, 'app.html', {'nameinfo': name.nameinfo, 'feature': name.feature, 'livemethod': name.livemethod, 'feednn': name.feednn, 'feedmethod': name.feedmethod, 'picname': f1.name})
else:
return HttpResponse("上傳失敗!")
其中app.html為識別結果詳情
效果展示: