首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10044篇文章
优秀的个人博客,低调大师

Docker启远程API

修改配置文件 sh 复制代码 # 修改/usr/lib/systemd/system/docker.service或/etc/systemd/system/docker.service # 将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock # 改为ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock # 该过程可手动操作 # 修改 sed -e \ 's|^ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock|ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock|g' \ -i \ /usr/lib/systemd/system/docker.service # 或 sed -e \ 's|^ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock|ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock|g' \ -i \ /etc/systemd/system/docker.service # 查看 cat /usr/lib/systemd/system/docker.service # 或 cat /etc/systemd/system/docker.service 让配置生效 sh 复制代码 # 刷新配置 systemctl daemon-reload # 重启docker systemctl restart docker 验证 sh 复制代码 # 查看docker信息 curl http://127.0.0.1:2375/version 远程连接Docker API配置 sh 复制代码 # 配置环境变量(不同系统根据自己实际情况配置即可) export DOCKER_HOST=tcp://10.0.1.7:2375

优秀的个人博客,低调大师

基于django的视频点播网站开发-step10-后台评论管理功能

本讲中,我们会讲到评论管理功能,数据库中的每一条是来自用户的评价,因此后台中的评论管理只有评论列表和评论删除功能,没有增加评论和编辑评论。 照例我们先添加评论管理的相关路由 path('comment_list/', views.CommentListView.as_view(), name='comment_list'), path('comment_delete/', views.comment_delete, name='comment_delete'), 首先是评论列表的展示,我们通过CommentListView视图类来实现,该类依然是继承ListView来实现的。代码如下 class CommentListView(AdminUserRequiredMixin, generic.ListView): model = Comment template_name = 'myadmin/comment_list.html' context_object_name = 'comment_list' paginate_by = 10 q = '' def get_context_data(self, *, object_list=None, **kwargs): context = super(CommentListView, self).get_context_data(**kwargs) paginator = context.get('paginator') page = context.get('page_obj') page_list = get_page_list(paginator, page) context['page_list'] = page_list context['q'] = self.q return context def get_queryset(self): self.q = self.request.GET.get("q", "") return Comment.objects.filter(content__contains=self.q).order_by('-timestamp') 通过继承ListView来实现评论列表的展示,通过get_context_data()来实现分页功能,通过get_queryset()来实现搜索功能。 效果如下 下面我们继续实现删除功能,该功能比较简单,只需要通过ajax将video_id传给删除接口即可,ajax的代码位于static/js/myadmin/comment_list.js,删除评论的接口是api_comment_delete,最终会调用到comment_delete,代码如下 @ajax_required @require_http_methods(["POST"]) def comment_delete(request): comment_id = request.POST['comment_id'] instance = Comment.objects.get(id=comment_id) instance.delete() return JsonResponse({"code": 0, "msg": "success"}) 逻辑还算清晰,即先拿到评论的id,然后获取到该条评论,最后instance.delete()删除之。

优秀的个人博客,低调大师

基于Flask开发网站 -- 前端Ajax异步上传文件到后台

大家好,我是辰哥~ 辰哥最近利用空闲时间在写一个在线可视化平台,过程中也觉得一些技术还是比较有意思的,所以就以模块化的形式分享出来。如:从网页界面(前端)上传文件到服务器(后端)。 放一下该模块的界面图瞧一瞧: 点击上传excel文件按钮,选择excel文件后可以在线预览,并且后端接收保存到服务器,本文主要是分享上传文件这块内容。 背景:前端是html,后端使用Flask框架,在前端点击上传一个excel文件,后端接收并保存到本地。 01 前端处理 1.文件选择框 相信写过html代码的都知道,上传文件控件最简单的是html默认的(非使用插件的情况) <input id="file" name="loadfile" type="file"> 文件选择框的id是file,类型是file,通过id去调用js异步代码,类型是指定input是选择本地文件。 这样就定义好一个文件选择框。 2.Ajax异步处理 在使用Ajax异步之前,需要引入Jquery文件 <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"></script> 异步代码: $('#file').change(function (e) { var files = e.target.files; var formFile = new FormData(); formFile.append("file", files[0]); //加入文件对象 $.ajax({ url: "/upload_file", data: formFile, type: "post", dataType: "json", cache: false,//上传文件无需缓存 processData: false,//用于对data参数进行序列化处理 这里必须false contentType: false, //必须 success: function (result) { alert("上传完成!"); }, }) }); 点击网页的上传excel文件按钮,选择好excel文件之后,自动触发上述的js代码(通过id:file去触发指定js代码) > 简单介绍: > > (1)e.target.files:选择上传的文件 > > (2)FormData:将上传文件封装到FormData中 > > (3)/upload_file:后端上传的接口(接收文件的入口) 这段js代码的作用就是将选择好的excel文件,上传到后端接口:/upload_file,后端处理完毕之后返回响应值:result,网页提示:上传完成。 02 后端处理 后端使用Python去编写,用的是Flask框架,如果还不明白的flask的简单使用的,可以参考辰哥之前的一篇文章:Flask结合ECharts实现在线可视化效果,超级详细! 这里辰哥直接带大家看后端接口,详细的完整源码,辰哥会在文末直接给出。 # 上传文件 @app.route('/upload_file', methods=['POST']) def upload(): if request.method == 'POST': f = request.files['file'] basepath = os.path.dirname(__file__) # 当前文件所在路径 print(f.filename) ####################################### # 毫秒级时间戳 file_name = str(round(time.time() * 1000)) dir = str(time.strftime('%y%m%d', time.localtime())) upload_path = os.path.join(basepath, 'uploads/'+dir) # 判断文件夹是否存在 if not os.path.exists(upload_path): os.mkdir(upload_path) ####################################### file_path = str(file_name)+str(f.filename) f.save(upload_path+"/"+file_path) return Response(json.dumps(file_path), mimetype='application/json') 简单说明: (1)接口名称是:/upload_file,接受的请求方式是:post; (2)request.files['file']:接收上传的文件; (3)6~16行:在upload文件夹下自动创建以当天日期命名的文件夹,作为保存上传文件的存储路径; (4)file_name:是当前毫秒级时间戳,对上传的文件重命名:时间戳+原文件名; (5)Response返回文件路径到前端异步处理函数success:file_path; 03 效果 前端和后端都处理完毕后,开始调试程序。看看具体效果。 以上就是前端Ajax异步上传文件到后端的内容。 > 完整的源码地址: > > https://wwi.lanzoui.com/imM6bs2f44d 最后说一声:原创不易,求给个赞!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册