RumorRazer
God~Hao
2020-12-01 15:51
采纳率: 100%
浏览 49

怎么用Django把写好的python代码做成网站实现根据用户输入的关键词搜索本地文件的功能?

根据输入的关键词搜索本地文件的代码已经写好了,要写一个网站,用网页端的搜索框输入待搜索的关键词,然后再根据这个关键词搜索文件,最后文件链接显示在网页端并且可以点击打开。请各位大神指导一下,Django以前从没接触过。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • weixin_43582101
    考古学家lx 2020-12-02 10:09
    已采纳

    django做这一个功能太费劲了。用下面这个吧

    import tornado.ioloop
    import tornado.web
    import platform
    
    if platform.system() == "Windows":
        import asyncio
        asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
    
    
    
    class SearchFile(tornado.web.RequestHandler):
        def searchfile(self):
            keyword = self.get_query_argument('keyword', '')
            path = get_path(keyword=keyword)
            # get_path 是你写的搜索代码,返回path.
            self.write(path)
    
    
    
    def make_app():
        return tornado.web.Application([
            (r"/searchfile", SearchFile),
        ])
    
    if __name__ == "__main__":
        app = make_app()                            # 创建一个应用对象
        app.listen(port=8888,address='0.0.0.0')     # 设置端口,访问ip
        tornado.ioloop.IOLoop.current().start()     # 启动 web程序,开始监听端口的连接
    
    点赞 评论
  • qq_43656607
    放风喽 2020-12-01 21:07

    将要下载的文件所在的文件夹,加入到static里面,这样django才可以操作

    配置第一个接口,接收一个get请求,把请求携带的关键字在所有指定后缀的文件中搜索,返回符合规则的文件的名称列表

    配置第二个接口,接受一个get请求,把请求携带的文件名称在static内找到,并返回给请求方。

    建议将文件内容用富文本编辑器编辑后,存放到数据库中,这样遍历起来速度更快,不需要读取文件进行转译。

    下载的就是文件内容而不是文件本身。请求方看到文件内容后复制到文件中就行了。

    点赞 评论
  • m0_50628560
    热心伙伴 2020-12-03 11:07

    django没接触过可以先学习下django,实现你的需求不难,不想学的话找我帮你搞下

    需要学习:python基础,django框架基础,数据库(django带的sqlite就可以)

    思路一(推荐):本地文件先全部扫描一遍基本信息更新到数据库,用户搜索是在数据库搜索,最后返回给用户对应文件的完整路径

    思路二:根据用户输入的基本信息,再遍历文件,找到对应文件,返回用户对应文件完整路径

    1.from表单获取用户输入内容,提交到服务端

    2.通过思路一或二处理

    3.返回文件路径

    点赞 评论

相关推荐