无人水果售卖机

无人水果售卖机,第1张

目录

1、创建Django项目

 2、试运行,查看项目是否创建成功

3、 创建并注册APP

4、创建用户 

5、创建第一个函数和对应的网页

 6、把功能文件放进Django项目中

 7、调用模型

 8、查看效果


1、创建Django项目
django-admin startproject Unmanned_Fruit_Vending_Machine

manage.py:一个实用的命令行工具,可以让你以各种方式与该Gjango项目进行交互

_init_.py:一个空文件,告诉python这是一个Python包

aigi.py:一个ASGI兼容的Web服务器的入口,以便运行项目

settings.py:该Django项目的设置和配置

urls.py:该Gjango项目的URL申明,一份由Django驱动的网站目录

wigi.py:一个ASGI兼容的Web服务器的入口,以便运行项目

 2、试运行,查看项目是否创建成功

启动 一下服务器,输入python manage.py runserver 0.0.0.0:8000

程序红色提醒:您有 18 个未应用的迁移。 在您为应用程序应用迁移之前,您的项目可能无法正常工作,运行“python manage.py migrate”以应用它们。

  打开网页:http://127.0.0.1:8000 ,成功!

3、 创建并注册APP

 创建app

python manage.py startapp app01

  注册app,找到settings.py文件中的INSTALLED_APPS,添加app01.apps.App01Config。就是把app01/apps.py文件中的App01Config类的申明路径添加进来。

4、创建用户 

在浏览器中访问 http://127.0.0.1:8000/admin/,得到如下界面:

 输入下列代码创建用户。

 python manage.py createsuperuser

 创建完后,登录admin页面。

5、创建第一个函数和对应的网页

Django项目的访问路口应该是在urls.py文件中进行配置,urls.py文件主要的功能是建立函数与网址的一一对应关系。默认访问端口和路径是http://127.0.0.1:8000/admin。我们新建一个网址入口:http://127.0.0.1:8000/index/ 对应的是 app01/views.py文件中的index函数

 打开浏览器进行访问 http://127.0.0.1:8000/index/

HttpResponse只能返回一个字符串,但我们通常需要返回一个网页,所以我们需要用render。 

当settings.py文件中TEMPLATES中的DIRS为空时,render会根据settings.py文件中app注册的顺序,逐一去这些app文件夹下的templates目录下面去找。否则会根据settings.py文件中的TEMPLATES路径为主。

 在app01文件夹下创建templates文件夹,再在templates文件夹下创建index.html文件

 之后修改index函数,然后一个HTML页面:

 这里有个链接,调用app01/views.py 中的Calculate_the_price 函数


    
        
        index
    
    
        开始计算水果价格
    
 6、把功能文件放进Django项目中

 init.py:告诉python,这是一个包

best_model_2.h5:训练好的水果图片识别模型

camera.py:调用摄像头拍照,并把照片保存到指定路径下

get_price.py:读取水果单价文件、水果体重文件,进行计算最后的价格

price.json:里面是水果的单价

use_model.py:加载模型对照片进行识别,返回水果类别

weight.txt:里面是水果的体重

 7、调用模型

在app01/views.py 中写一个Calculate_the_price函数,进行拍照、识别分类、计算价格。

def Calculate_the_price(request):
    '''1、图像保存路径'''
    img_save_path = './app01/get_price/camera/test.png'
    os.makedirs('./app01/get_price/camera', exist_ok=True)

    '''2、拍照保存图像'''
    GetPicture(img_save_path)

    '''3、对水果照片进行预测种类'''
    fruit_class = prdict_fruit_class(img_save_path)

    '''4、对水果进行计算价钱'''
    fruit_price_json_path = './app01/get_price/price.json' # 水果单价文件
    fruit_weight_txt_path = './app01/get_price/weight.txt' # 水果体重文件
    # result_dict = {'fruit_class':fruit_class,'fruit_price': fruit_price,'fruit_weight': fruit_weight,'fruit_money': fruit_money}
    fruit_money_dict = get_price(fruit_class,fruit_price_json_path,fruit_weight_txt_path)

    print(fruit_money_dict)

    return render(
        request, 
        'Calculate_the_price.html', 
        {
            "fruit_money_dict":fruit_money_dict
        }
    )

然后也需要新建一个Calculate_the_price.html文件


    
        
        Title
    
    
        无人水果售卖机
        
    您买了{{fruit_money_dict.fruit_weight}}斤{{fruit_money_dict.fruit_class}},一共{{ fruit_money_dict.fruit_money }} 元,请支付!

也需要在urls.py中配置网址入口:

path('Calculate_the_price', views.Calculate_the_price)

 8、查看效果

先进http://127.0.0.1:8000/index/

点击链接,调用 Calculate_the_price 函数,返回 Calculate_the_price.html 界面

camera文件夹中放的是摄像头拍照结果 

 程序运行过程中的打印显示:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/921073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存