IIS上部署MVC网站,打开后ExtensionlessUrlHandler

IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”

解决方法如下:

以管理员运行下面的命令注册:

32位机器:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

64位机器:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

如何修改sql sa 密码

下面是如何修改 MS-SQL 的sa密码,我已2005为例,给大家简单设置一下,注意,如果出现 《sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 》请继续往下看,会有详细介绍。

注意:

【这里修改是在 企业管理器中进行的修改,前提是sql 能够通过window 验证登陆】

工具/原料

  • SQL Management Studio 2005

方法/步骤

  1. 1

    首先,以window 认证登陆。

    如何修改sql sa 密码
  2. 2

    然后,在 安全性—->登录名—->sa。右击 选择属性。直接修改 星号密码即可。

    如何修改sql sa 密码
    如何修改sql sa 密码
  3. 3

    然后 在右上角 文件—>链接对象资源管理器—–>选项 sql server 身份验证。

    如果出现如图所示的情况。

    《sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联》

    直接看:

    还是以 window 认证进入。

    然后 右击  服务器 的属性

    如何修改sql sa 密码
    如何修改sql sa 密码
  4. 4

    选择安全性—->服务器身份验证 –选择 混合验证。

    如何修改sql sa 密码
  5. 5

    之后,记得重新启动 sql服务。在服务器右击—–<重新启动。即可了。

    如何修改sql sa 密码
    如何修改sql sa 密码

 

Flask-SQLAlchemy 学习

Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展。SQLALchemy 是Python语言的SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行,提供能兼容众多数据库(如 SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企业级持久性模型。

一、为你的Flask应用加载Flask-SqlAlchemy扩展

Code example:
1
2
3
4
5
6
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)  #这个就是你以后操作数据库的对象实例了

SQLALCHEMY_DATABASE_URI格式实例:

postgresql://scott:tiger@localhost/mydatabase
mysql://scott:tiger@localhost/mydatabase
oracle://scott:tiger@127.0.0.1:1521/sidname
sqlite:////absolute/path/to/foo.db #注意:有3个斜杠+路径

二、建立数据库模型和初始化数据库

建立数据库模型:

Code example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import hashlib
from app import db  #在数据库模型文件中导入上面建立的db对象
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True# id
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(320), unique=True)
    password = db.Column(db.String(32), nullable=False)
    def __init__(self, username, email, password):
        self.username = username
        self.email = email
        self.password= hashlib.md5(password)  #呵呵,这样在插入数据自动给密码哈希了!
    def __repr__(self):
        return "<User '{:s}'>".format(self.username)

初始化数据库也特别简单,只需要调用 db.create_all() 函数就可以了。

Code example:
1
2
if __name__ == '__main__':
    db.create_all()

三、插入数据

Code example:
1
2
3
u = User(username='peter', email='test@example.com', password='123456')
db.session.add(u)  #插入数据
db.session.commit()  #只有提交事务了,才可以获取(u.id)数据的ID值。

四、查询数据

用主键获取数据:

Code example:
1
2
User.query.get(1)
<User u'admin'>

通过一个精确参数进行反查:

Code example:
1
2
peter = User.query.filter_by(username='peter').first()  #注意:精确查询函数query.filter_by(),是通过传递参数进行查询;其他增强型查询函数是query.filter(),通过传递表达式进行查询。
print(peter.id#如果数据不存在则返回None

模糊查询:

Code example:
1
2
User.query.filter(User.email.endswith('@example.com')).all()
[<User u'admin'>, <User u'guest'>]

逻辑非1:

Code example:
1
2
peter = User.query.filter(User.username != 'peter').first()
print(peter.id)

逻辑非2:

Code example:
1
2
3
from sqlalchemy import not_
peter = User.query.filter(not_(User.username=='peter')).first()
print(peter.id)

逻辑与:

Code example:
1
2
3
from sqlalchemy import and_
peter = User.query.filter(and_(User.username=='peter', User.email.endswith('@example.com'))).first()
print(peter.id)

逻辑或:

Code example:
1
2
3
from sqlalchemy import or_
peter = User.query.filter(or_(User.username != 'peter', User.email.endswith('@example.com'))).first()
print(peter.id)

六、查询数据加工

排序和限制函数可以跟在query或filter后面。
排序:

Code example:
1
2
User.query.order_by(User.username)  #嘿嘿,你用哪个字段作为排序参考呢?
[<User u'admin'>, <User u'guest'>, <User u'peter'>]

限制返回的数目:

Code example:
1
2
User.query.limit(1).all()
[<User u'admin'>]

六、查询数据返回

返回查询到的第一个对象:

Code example:
1
2
r = User.query.first()
print(r)

返回所有查询到的对象:

Code example:
1
2
r = User.query.all()
print(r)

七、删除数据

Code example:
1
2
3
u = User.query.first()
db.session.delete(u)  #删除数据和插入数据一样简单,但必须是通过查询返回的对象。
db.session.commit()

八、更新数据

Code example:
1
2
3
u = User.query.first()
u.username = 'guest'  #更新数据和变量赋值那么简单,但必须是通过查询返回的对象。
db.session.commit()

ImportError: No module named MySQLdb

ImportError: No module named MySQLdb
该错误是源于我们没有安装Python连接MySQL所需的MySQLdb库而引起。
MySQL是最流行的开源数据库之一,但在Python标准库中并没有集成MySQL接口程序,MySQLdb是一个第三方包,需独立下载并安装。Python连接MySQL的关键之处在于设置数据库连接,在连接成功之后,其实不管后端是何种数据库,对DB-API对象的属性和方法进行操作都是一样的。
下载地址:http://sourceforge.net/projects/mysql-python/
对于Linux来说,有多重包管理系统和安装机制。如果使用的是包含某种包管理器的Linux,那么可以很轻松的安装Python MySQLdb库。
Linux Fedora, CentOS系统:yum install MySQL-python
Linux Ubuntu操作系统:apt-get install python-mysqldb
下面的代码演示了如何创建一个表,插入和访问数据等简单操作:
#!/usr/bin/env python
import MySQLdb
def main():
    print ‘*** Connecting to database’
    cxn=MySQLdb.connect(host=’192.168.1.108′, user=’root’, passwd=’123456′, db=’test’)
    if not cxn:
        print ‘ERROR: connection not supported, exiting’
    return
    cur=cxn.cursor()
    print ‘*** Creating users table’
    cur.execute(‘CREATE TABLE users(login VARCHAR(8), uid INT)’)
    print ‘*** Inserting some users’
    cur.execute(“INSERT INTO users VALUES(‘john’, 7000)”)
    cur.execute(“INSERT INTO users VALUES(‘jane’, 7001)”)
    cur.execute(“INSERT INTO users VALUES(‘bob’, 7200)”)
    print ‘*** Search for users starting with j’
    cur.execute(“SELECT * FROM users WHERE login LIKE ‘j%'”)
    for data in cur.fetchall():
        print ‘%s\t%s’ % data
    cur.close()
    cxn.commit()
    cxn.close()
if __name__ == ‘__main__’:
    main()
我的更多文章:

ionic 基本调用

ionic简介

ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。目前绑定的与angularJS和SASS。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。

ionic安装

首先需要安装cordova和android环境。这个参考我的另一篇文章:phoneGap之Android环境搭建,上面写的很详细,还有常见的错误及解决办法。
然后安装ionic:

1
npm install -g ionic

安装完成之后,就可以使用ionic创建项目了。

1
ionic start myApp tabs   //创建带有top栏和bottom栏的示例项目
ionic start myApp sidemenu  //创建带有左侧带有menu栏的示例项目
ionic start myApp blank   //创建空白项目

具体效果,可以查看官网: http://ionicframework.com/getting-started/
然后可以使用:

1
ionic serve

该命令会自动启动流浏览器,查看当前效果。

添加Android平台

执行下面的命令,

1
cd myApp
ionic platform add android //这行可能会报错
ionic build android
ionic emulate android

其实上面的使用方法和cordova差不多,添加android的时候可能会报错,如下:

1
The error is:
=======================================
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1000:11)
at Process.ChildProcess._handle.onexit (child_process.js:791:34)

解决的方法很简单,将ionic换成cordova即可,经测试works fine。

1
cd myApp
cordova platform add android //这行可能会报错
cordova build android
cordova emulate android

其他常见错误

  1. 生成项目(ionic start myApp tabs)时可能会报错,如下:
    1
    Error: command failed:fatal:could not create work tree dir:'C:\Users/ADMINI~1\AppData\Local\Temp\plugman\git\1402853493773'.:No such file or directory

解决办法:进入上面对应的目录,建立对应的文件。比如在temp目录下建立plugman目录,在plugman目录下建立git目录,然后再git下建立1402853493773目录。即可,经测试有效。

css组件