zoukankan      html  css  js  c++  java
  • uliweb框架数据库操作

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

    1     sudo aptitude install python-setuptools
    2     sudo easy_install SQLAlchemy
    3     sudo easy_install uliweb
    4     sudo easy_install plugs
    5     sudo aptitude install mysql-client -y
    6     sudo aptitude install mysql-server -y
    7     sudo aptitude install python-mysqldb -y

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

     1 [GLOBAL]
     2 DEBUG = False
     3 DEBUG_CONSOLE = False
     4 
     5 INSTALLED_APPS = [
     6     #添加orm应用配置
     7     'uliweb.contrib.orm',
     8     'uliweb.contrib.staticfiles',
     9     'blog',
    10     ]
    11 #添加mysql数据库配置,其中root为mysql用户名,mysql为mysql数据库密码,blog为创建的数据库名称
    12 [ORM]
    13 CONNECTION='mysql://root:mysql@localhost/blog?charset=utf8'

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

    mysql> create database blog;

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

    1 #coding:utf-8
    2 
    3 from uliweb.orm import *
    4 import datetime
    5 
    6 class blog_table(Model):
    7         user = Field(CHAR)
    8         content = Field(TEXT)
    9         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中操作数据库

     1 #coding=utf-8
     2 from uliweb import expose, functions
     3 from blog.models import blog_table
     4 
     5 @expose('/boge')
     6 def boge():
     7         all = blog_table.all()
     8         return {'a':all}
     9 
    10 @expose('/dest')
    11 def dest():
    12         for i in request.params.keys():
    13                 print i, request.params[i]
    14 #       return redirect('/')
    15         if request.method == 'POST':
    16                 tab = blog_table()
    17                 tab.user = request.params['user']
    18                 tab.content = request.params['content']
    19                 tab.save()
    20         return redirect('/boge')

    在boge.html模板中显示:

     1 <html>
     2   <meta http-equiv="Content-Type" content = "text/html; charset = UTF-8">
     3 <hr>
     4 <form name = "input" action = "/dest" method = "post">
     5 用户名:<input type = "text" name = "user">
     6 内容:<textarea type = "text" name = "content"></textarea>
     7 <input type = "submit" value = "Submit">
     8 <hr>
     9 {{for i in a:}}
    10 {{=i.user}}
    11 {{=i.content}}
    12 </form>
    13 </html>

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

    数据库中信息如下:

  • 相关阅读:
    从头认识java-5.2 包(package)
    从头认识java-5.1 为什么需要访问权限?
    从头认识java-4.9 枚举类型
    从头认识java-4.8 数组的初始化(2)-可变参数列表
    从头认识java-4.8 数组的初始化(1)
    从头认识java-4.7 构造器初始化(3)
    从头认识java-4.7 构造器初始化(2)
    全局对象:数字对象
    JavaScript的数据类型
    全局对象:String对象
  • 原文地址:https://www.cnblogs.com/goodhacker/p/3203277.html
Copyright © 2011-2022 走看看