• golang开源项目qor快速搭建网站qor-example运行实践


      最近想找几个基于Go语言开发的简单的开源项目学习下,分享给大家,github上有心人的收集的awesome-go项目集锦:github地址

      发现一个Qor项目:

        Qor 是基于 Golang 开发的的CMS 一系列工具库,基于 Qor可以快速搭建网站的后台管理系统。

      Qor 的工作库包含:

    • 1,后台管理:可以对数据库进去 CURD 管理,支持一对一,一对多,多对多关联关系维护等等;
    • 2,支持上传图片到云以及 filesystem,resize、crop 图片等等 ;
    • 3,Publish 发布系统,可以修改数据,并且经过检查后,再发布到正式环境中;
    • 4,状态机,可以用于开发工作流的系统;
    • 5,I18n,翻译,可以通过在 WEB 界面翻译,并将翻译保存到数据库中;
    • 6,L10n,本地化,不同于翻译,他可以针对某个地区来对内容,或者数据结构进行本地化。
    • 7,Roles,权限管理;
    • 8,Exchange,通过 Excel,CSV 导入导出数据;
    • 9,Worker,后台任务管理,可用于跑定时任务等等

      在Qor项目(地址)的readme中还提供中外两个聊天室,不懂的问题都可以尽情问,中文聊天室英文聊天室,还写了一个demo购物网站,对应源码也在github上(https://github.com/qor/qor-example)。学习一个项目,就是先把项目跑起来看看效果,golang也是刚开始了解,花了两天,简单记录下踩过的坑~

      golang环境搭建这里就不介绍了,可以看前面的windows下Go Web编程系列。步骤如下:

      一、克隆源码

      进入src源码目录下,md github.comqor创建qor仓库,git init初始化,git clone https://github.com/qor/qor-example.git等下下载完

          

      

      


      二、查看README.md里面的Quick Started

      

       (1)创建数据库(此处用navica界面创建的):

      

      (2)运行主程序(此处有很多问题):

      问题1:"cloud.google.com/go/compute/metadata"包找不到,在src目录下按照错误提示路径创建后下载,git clone https://github.com/googleapis/google-cloud-go,然后修改目录名(把google-cloud-go里面的同名目录剪切到上一级替换掉google-cloud-go并把google-cloud-go改为go目录,见下图3)。

       

       

      

      问题2:"D:\mygo\src\github.com\unrolled\render" is not using a known version control system说明render不在版本控制,之前是下载的zip文件,所以删除render重新git clone https://github.com/unrolled/render.git

      net包也报过不在版本控制,同样使用git clone https://github.com/golang/net.git 下载

      

      下面go get -u安装项目所需依赖,go run main.go主程序运行起来:

      

       


      三、修改配置,创造fake数据

       (1)主程序运行起来发现config/application.example.yml,config/smtp.example.yml,config/database.example.yml几个配置文件找不到,将其example.去掉即可。

      

      (2)阅读README.md,再打开一个cmd执行Generate sample data

      

     问题:执行脚本说faker包找不到,进入srcgithub.com 后md azumads创建报错所说的路径,cd azumads后  git clone https://github.com/azumads/faker.git

      


      四、访问web

       第二步骤看出程序监听7000端口,访问web:http://localhost:7000/,效果如下:

      

       

       

       

      

      


      五、继续阅读README.md体验一下RESTful API

      

     

     - Users:http://localhost:7000/api/users.json

      

      - User 1:http://localhost:7000/api/users/1.json

      - User 1's Orders:http://localhost:7000/api/users/1/orders.json

      - User 1's Order 1:http://localhost:7000/api/users/1/orders/1.json

      - User 1's Order 1's Items:http://localhost:7000/api/users/1/orders/1/items.json

      - Orders:http://localhost:7000/api/orders.json

      

      - Products:http://localhost:7000/api/products.json


      六、遗留问题

      问题1:RESTful API标记金色的3个page not found。

      问题2:基础界面出来了,大部分按钮可以触发,但是MEN WOMEN KIDS分类点击后跳转到了空白页,golang不熟,这两个问题后续代码跟进下,如果有小伙伴跑这个项目没问题,希望能给我点帮助~。~ 

       更正一下,遗留两个问题源码也没有实现,整体qor-example项目按照这个步骤可以完美运行,发现go也有进程管理相关包,gosuv,感兴趣的可以了解下~

  • 相关阅读:
    实例15_C语言绘制万年历
    医生酒精
    实例13_求解二维数组的最大元素和最小元素
    用二维数组实现矩阵转置
    C语言中的typedef跟define的区别
    C语言设计ATM存取款界面
    MyBatis,动态传入表名,字段名的解决办法
    在mybatis执行SQL语句之前进行拦击处理
    使用Eclipse构建Maven的SpringMVC项目
    Debug过程中的mock (及display窗口的使用)
  • 原文地址:https://www.cnblogs.com/NolaLi/p/10643813.html
Copyright © 2020-2023  润新知