0


Django simpleui实战web平台开发

先上效果图:
在这里插入图片描述

本次使用Django simple ui 进行了简易的界面,使用h5的基本功能,比传统的qt和tk更加方便使用,界面更加符合审美。通过Django的框架实现简易的web平台开发。

代码分类

良好的代码要进行分类,一是方便维护,二是减少代码在一个文件里面太多,看得眼花再基于Django框架的基础上,新建一个写功能函数的文件夹和一个config配置文件。调用的时候引用报名中的函数|类即可。

安装环境

     pip install django
     pip install django-simpleui

安装完后:在python的script安装目录下找到 django-admin.exe 的路径,将他放到系统环境变量中。并在cmd中运行django-admin查看是否运行成功。
注:如果电脑装了多个版本python,建议都看一下django-admin在哪里,不一定在你习惯用的那个版本

在这里插入图片描述
接下啦开始正式创建工程啦

创建工程

创建工程的命令为:django-admin startproject 工程名称
在cmd中创建名为demo的项目:

django-admin startprojec demo

可以在文件夹下生产如下文件
在这里插入图片描述
demo文件夹下
在这里插入图片描述
创建好项目之后,进入项目路径下也就是有manage.py的目录下,打开cmd,输入如下代码
接下来我们要创建一个应用

python manage.py startapp 应用的名称

创建好后会出现你应用名称的文件夹
在这里插入图片描述
其内容如下;
在这里插入图片描述

运行项目

此时可以运行项目了,在有manage.py的目录下,cmd或者终端运行

python manage.py runserver

结果如下:
在这里插入图片描述
项目运行成功了,但是没有加上自己的东西,那么你得了解一下Django的框架。这个网上找找。。

修改框架内容

我主要理解的是:你需要修改urls里面的路由,就可以让浏览器访问到你的网页,在view文件可以与网页进行交互。界面主要是由前端控制的,所以你需要创建html文件,html的管理放在自己创建的文件夹templaces下

在urls.py文件中将你的html和view中的函数进行路由。
因此你首先要创建创建一个与你的app文件夹同级下创建templaces文件夹。然后新建你的html文件,例如index.html
在这里插入图片描述
在settings中设置好路径,不然访问不到:
在这里插入图片描述

html内容中需要注意两个点

1.{% csrf_token %}一定要加上这个
2.action=“/index/” index为你的html文件名
3.html中如文本框的name=“btm”这个名字,可以在views中通过get方法获取该组件的内容

需要了解Django的html的写法可参考:html网页调用+模板语法+静态文件

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>测试</title></head><body><h1>按钮功能:</h1><formaction="/index/"method="post">
        {% csrf_token %}   <!--加入这行 -->
        输入:<inputtype="text"name="btm"/><br/><inputtype="submit"value="提交"/></form></body></html>

然后在你的demo_app的view中新建一个函数:
说明:
1.参数request是必要的,不可以省略
2.其实if 条件可以不需要也可以接受到前端的消息
3.使用request.POST.get(“html的组件的名字”) 获取POST请求的内容
4.使用return render()返回你的网页和参数(想要将参数传给html显示,需要将返回参数使用{}字典格式进行返回)
5.如果需要后端处理前端显示,建议新建一个api的文件夹,在里面写好功能,在view里面调用即可,这样可以减少view中的代码。也方便管理

注:假如你运行项目显示了别的网页,就要看你的函数是否返回了这个网页。

from django.shortcuts import render
defindex(request):
    btm_list =[]if request.method =='POST':
        btm = request.POST.get('btm')
        btm_list.append(btm)return render(request,'index.html',{'btm': btm_list})

接下来修改urls.py文件,将网页与地址绑定起来。第一个为你需要路由的html的名称,第二个为views.py文件下的函数,每增加一个html都需要配置一下urls
记得将导入views文件导入
在这里插入图片描述
最后运行:

python manage.py runserver 你的ip:8000

网页中输入ip:8000/index 就可以访问你的html了。

前端页面的显示依赖于html的设计,作为非专业人士的我,决定白嫖现成的东西,于是我使用了simpleui这个库
首先先安装

参考文章:Django SimpleUI打造美丽后台

 pip install django-simpleui

修改settings.py文件

simpleui在项目中的settings.py文件中配置

INSTALLED_APPS =['simpleui',    加上这个
    'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',]

DATABASES ={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':str(BASE_DIR /'db.sqlite3'),'DIRS':[BASE_DIR/'templates'],# settings.py文件的问题     正确做法}}# 允许所有人访问
ALLOWED_HOSTS =['*']

测试是否安装成功
使用python manage.py runserver命令启动本地测试服务器, 访问/admin/, 如果你能看到如下页面说明安装成功。
在这里插入图片描述

登入需要账号:账号那里来?
你需要执行如下命令:

python manage.py makemigrations   
python manage.py migrate          
python manage.py createsuperuser    需要你注册的账号和密码

此时登入应该可以登入用户了
一开始的界面只有
在这里插入图片描述
需要修改settings问价中的配置进行菜单选项的添加和修改

# 自定义菜单
SIMPLEUI_CONFIG ={# 是否使用系统默认菜单,自定义菜单时建议关闭。'system_keep':False,# 用于菜单排序和过滤, 不填此字段为默认排序和全部显示。空列表[] 为全部不显示.'menu_display':['权限认证'],# 只会显示权限认证这个菜单  如果去掉那么都显示# 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时刷新展示菜单内容。# 一般建议关闭。'dynamic':False,'menus':[{'app':'auth','name':'权限认证',#父级菜单'icon':'fas fa-user-shield','models':[{'name':'管理用户列表',# 子菜单   需要的时候自己添加字典格式就好'icon':'fa fa-user-secret','url':'auth/user/'# 你的网页比如/index},{'name':'用户组','icon':'fa fa-th-list','url':'auth/group/'}]},]

局域网访问

如果你想让别人同一个局域网的人访问到这个地址
1、在settings.py文件种任意位置添加;ALLOWED_HOSTS = [‘*’]
2、运行服务时带上自己的ip:python manage.py runserver 自己的ip:8000(端口号)

补充:通过套接字直接获取本地的ipv4,由于gethostbyname_ex()返回了三元组信息,对元组进行选择你的ipv4地址就好了

import socket
if __name__ =='__main__':
    ipv4s = socket.gethostbyname_ex(socket.gethostname())[2][-1]
    sys_manage(ipv4s)
('xxx.com', [], ['192.168.xxx.x', '192.168.xx.x', '10.xx.xx.xxx'])

结束语

写到这里已经完成了本次项目的一些基本流程。每次添加东西只需要几个步骤:
1.在settings添加菜单栏和子菜单,修改url地址
2.在urls.py中执行url的地址和view.py的函数
3.新建html文件
4.在views.py文件中书写函数,render返回的参数也是该html文件

补充:Django框架移植到别的电脑

首先:直接将项目文件移植到其他电脑,就算把所有的库安装了也不可运行,这个后面再看说明原因;
方法:创建虚拟环境,运行虚拟环境,再运行脚本。

创建虚拟环境:python -m venv 名称
激活虚拟环境:找到Scripts下的activities的可执行文件,windows下用.\activities,运行虚拟环境后。
安装所需要的库 pip install-r requestment.txt
运行Django项目

2、打包成exe文件

django项目打包成exe文件
django可以生成exe文件吗

参考引用

django-simpleui搭建完全讲解
html网页调用+模板语法+静态文件
手把手教你配置Django SimpleUI打造美丽后台

标签: django 前端 python

本文转载自: https://blog.csdn.net/qq_45872274/article/details/127527522
版权归原作者 某拿来主义 所有, 如有侵权,请联系我们删除。

“Django simpleui实战web平台开发”的评论:

还没有评论