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

     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. java ee思维导图

    该图是以网上的脑图作为参考,结合教材具体内容完成.

  2. Oracle案例13—— OGG-01163 Oracle GoldenGate Delivery for Oracle, reprpt01.prm

    由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个DG的从库和另一个report库有OGG同步,所以这里再系统恢复后检查OGG状态的时候,果然目标端的REPLICAT进程处于abend状态 ...

  3. 分别用C/C++ 和 C#实现简单的观察者模式

    网上找了很多关于观察者模式的代码例子和文章,都写的比较复杂,我个人还是喜欢从易到难,今天自己参考网上资料,也写了一个简单观察者模式的例子,简单的复习了一下Observer 模式,Observer 模式 ...

  4. Entity Framework 更新模式之Attach与EntityState.Modified模式的区别

    数据库中有一个City表 初始时数据: 实体类与Fluent Api配置映射 public class City { public int Id { get; set; } public string ...

  5. [C++] 用Xcode来写C++程序[4] 函数

    用Xcode来写C++程序[4] 函数 此节包括引用函数,内联函数,防止修改函数入参,函数自身带有默认值. 引用函数:防止复制对象,减少系统开销 内联函数:编译的时候根据具体情形将代码嵌入进去,成不成 ...

  6. jenkins+gitlib+git+mysql5.6+sonarqube+sonarrunner

    1. sonarrunner配置: 2. 未完待续....

  7. Linux 新建用户和组命令

    用户的角色是通过UID和GID识别的. UID用户ID:相当于各为的身份证,在系统中是唯一的 GID组ID:相当于各为的家庭或者你们的学校. 1.新建用户及设置密码命令如下: useradd [参数] ...

  8. Celery学习--- Celery 最佳实践之与django结合实现异步任务

    django 可以轻松跟celery结合实现异步任务,只需简单配置即可 同步执行和异步执行 注意:即使Celery的任务没有执行完成,但是已经创建了任务ID.可以利用前台的定时任务发送Ajax异步请求 ...

  9. Python学习---Django的request.post源码分析

    request.post源码分析: 可以看到传递json后会帮我们dumps处理一次最后一字节形式传递过去

  10. 铁乐学Python_day05-字典dict

    1.[字典dict] Python内置了字典:dict的支持,dict全称dictionary, 在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典和列表直观上 ...