先安装数据库和相关的库文件

     sudo aptitude install python-setuptools
sudo easy_install SQLAlchemy
sudo easy_install uliweb
sudo easy_install plugs
sudo aptitude install mysql-client -y
sudo aptitude install mysql-server -y
sudo aptitude install python-mysqldb -y

在app/settings.ini中配置mysql数据库,增加orm应用:

 [GLOBAL]
DEBUG = False
DEBUG_CONSOLE = False INSTALLED_APPS = [
#添加orm应用配置
'uliweb.contrib.orm',
'uliweb.contrib.staticfiles',
'blog',
]
#添加mysql数据库配置,其中root为mysql用户名,mysql为mysql数据库密码,blog为创建的数据库名称
[ORM]
CONNECTION='mysql://root:mysql@localhost/blog?charset=utf8'

需要用mysql命令手动创建数据库blog:

mysql> create database blog;

在apps/blog/目录创建models.py文件,用于建立表及字段:

 #coding:utf-8

 from uliweb.orm import *
import datetime class blog_table(Model):
user = Field(CHAR)
content = Field(TEXT)
datetime = Field(datetime.datetime, auto_now_add = True)

在 views.py中添加以下语句:

from blog.models import blog_table

然后使用以下命令在blog数据库中建立上面的表和字段(必须先执行上面几步):

uliweb -v syncdb

得到以下信息表示创建成功:

***@Android:~/myblog# uliweb syncdb
[default] Creating blog_table...CREATED

在views.py中操作数据库

 #coding=utf-8
from uliweb import expose, functions
from blog.models import blog_table @expose('/boge')
def boge():
all = blog_table.all()
return {'a':all} @expose('/dest')
def dest():
for i in request.params.keys():
print i, request.params[i]
# return redirect('/')
if request.method == 'POST':
tab = blog_table()
tab.user = request.params['user']
tab.content = request.params['content']
tab.save()
return redirect('/boge')

在boge.html模板中显示:

 <html>
<meta http-equiv="Content-Type" content = "text/html; charset = UTF-8">
<hr>
<form name = "input" action = "/dest" method = "post">
用户名:<input type = "text" name = "user">
内容:<textarea type = "text" name = "content"></textarea>
<input type = "submit" value = "Submit">
<hr>
{{for i in a:}}
{{=i.user}}
{{=i.content}}
</form>
</html>

在浏览器中打开http://127.0.0.1:8000/boge,在文本框中输入信息,提交,显示信息如下:

数据库中信息如下:

uliweb框架数据库操作的更多相关文章

  1. TP框架数据库操作(增删改)

    首先选择一张表,对其进行操作: 对数据库操作之前首先要创建模型: $n = M("account"); 数据库添加数据: 1.使用数组: 1.使用数组 $arr = array(& ...

  2. Django 框架 数据库操作2

    一.ORM的操作方法总结 get(self, *args, **kwargs): # 获取单个对象 def one_get(request): #直接得到一个表对象,也就是表记录 如果得到多个会报错 ...

  3. Django 框架 数据库操作

    数据库与ORM 1    django默认支持sqlite,mysql, oracle,postgresql数据库.  <1> sqlite django默认使用sqlite的数据库,默认 ...

  4. codeiginter框架数据库操作

       /**      *  //查询表内的数据      *  $res = $this->db->get('表名');      *  $res->result();       ...

  5. 二十、CI框架数据库操作之查看生产的sql语句

    一.代码如下: 二.我们访问一下: 三.我们对比一下数据库内容 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.

  6. 1-1hibernate数据库操作基础

    一.纯原始数据库连接详见http://www.cnblogs.com/lukelook/p/7845757.html 1.Class.forName("oracle.jdbc.driver. ...

  7. Laravel框架数据库CURD操作、连贯操作使用方法

    Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍.   Laravel是一套简洁.优雅的PHP Web开 ...

  8. Entity Framework 实体框架的形成之旅--几种数据库操作的代码介绍(9)

    本篇主要对常规数据操作的处理和实体框架的处理代码进行对比,以便更容易学习理解实体框架里面,对各种数据库处理技巧,本篇介绍几种数据库操作的代码,包括写入中间表操作.联合中间表获取对象集合.递归操作.设置 ...

  9. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

随机推荐

  1. docker的网络基础配置

    一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...

  2. SQL Server ->> 条件筛选做法之 -- IN(VALUE1,VALUE2,...)与INNER JOIN STRING_SPLIT()性能对比

    在以逗号拼接而成的字符串,传入给IN字句的元素字符串中包涵了1400多个元素 两种做法分别为 AND e.ssPfCityId IN ( SELECT CAST(value AS INT) FROM ...

  3. 获取WebService的请求信息

    一个已经写好的项目中有多个WebService,由于之前没有记录请求信息的,有时候需要查错等需要找到当次的请求信息,所以需要加入记录请求信息的功能. 首先想到的是在每一个带有WebMethod特性的方 ...

  4. 如何通过rman的增量备份恢复dataguard中standby端的数据

    很多正在使用dataguard的客户,都会遇到一个棘手的问题: 在备份端与主库同步的过程中由于网络原因或磁盘问题导致一个或多个归档日志丢失,进而dataguard同步无法继续.很多客户都选择了重新全库 ...

  5. PowerShell管理SCOM_批量设置维护模式(上 )

    #定义存储需要置为维护模式的计算机名称列表 $serverlist = "C:\scomm\servers.txt" #定义脚本执行结果的输出位置 $server_maintena ...

  6. C# 算法题系列(一) 两数之和、无重复字符的最长子串

    题目一 原题链接 https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整 ...

  7. ZT CSDN 如何以最快的速度计算出一个二进制数中1的个数? [

    一道算法面试题:如何以最快的速度计算出一个二进制数中1的个数? [问题点数:10分,结帖人weicai_chen] 收藏 weicai_chen weicai_chen 等级: 结帖率:95.12% ...

  8. 【转】.NET Core基于. csproj 配置文件发布项目

    一.前言 .NET工具链在最新的Preview3版本中,引入了新的MSBuild项目系统,项目文件又回归了.csproj的XML文件来管理,项目文件.包引用.程序集引用..NET Core工具集.发布 ...

  9. ASP.NET web api 跨域请求

    1.学习文章:AJAX 跨域请求 - JSONP获取JSON数据 1.asp.net代码 参考文章:http://www.sxt.cn/info-2790-u-756.html (1).增加CorsH ...

  10. Hive学习之路 (二)Hive安装

    Hive的下载 下载地址http://mirrors.hust.edu.cn/apache/ 选择合适的Hive版本进行下载,进到stable-2文件夹可以看到稳定的2.x的版本是2.3.3 Hive ...