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

     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. idea常用到的命令

    idea大小写转换:ctr+shift+u ctrl+alt+b,跳转到接口的方法实现处

  2. win8中 cmd直接以管理员权限运行

    一.组合键 WIN+X   二.锁定到任务栏,方便以后快速启动     三.控制面板->控制中心     四.更改用户账户控制设置--调到最低 好了,点击任务栏的命令提示符

  3. FR共轭梯度法 matlab

    % FR共轭梯度法 function sixge x0=[1,0]'; [x,val,k]=frcg('fun','gfun',x0) end function f=fun(x) f=100*(x(1 ...

  4. 【ORACLE】使用中注意事项(二)

    问题1:ORACLE在插入数据的时候,有时候中文变成????? 原因:由于当前计算机的字符集和服务器上的字符集不一致,导致中文乱码. 解决方案: 在当前使用的计算机中设置环境变量 在我的电脑上右键属性 ...

  5. BZOJ 2763 飞行路线 BFS分层

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2763 题目大意: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司 ...

  6. BZOJ 2330 糖果 差分约束求最小值

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2330 题目大意: 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果 ...

  7. java内存分配策略

    对象的内存分配,从大方向将就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓存,将按线程优先在TLAB上分配. 1. 对象优先在Eden区分配:大多数情况下,对象在新生代Ed ...

  8. MySQL半同步主从.md

    MySQL Semisynchronous Replication 复制架构衍生史 1.普通的replication,异步同步. 搭建简单,使用非常广泛,从mysql诞生之初,就产生了这种架构,性能非 ...

  9. myFocus 焦点图/轮播插件

    最近产品突然就来个需求,要加轮播图,而且是立马要上线,于是乎发现了一个超级简便好用的轮播图插件myFocus,而且myFocus提供很多种风格,可以选择. 这里是使用说明 http://www.chh ...

  10. 【openjudge】【递推】例3.6 过河卒(Noip2002)

    [题目描述] 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1 ...