首页 > 编程知识 正文

android运行python,android python环境

时间:2023-05-06 04:45:32 阅读:39243 作者:3374

我最近想自己写安卓的界面,以前学过一点Python的基础,想在Flask框架上实现。 请看下面

一、准备

PyCharm编译工具

Mysql数据库

Flask框架和SQLAlchemy库

百度将自行安装Flask框架和SQLAlchemy库

要查看数据库:

上传代码:

config.py:配置连接信息dbhost='127.0.0.133603306 '

dbuser='root '

dbpass='queyiqin '

dbname='takeout_db '

db _ uri=' mysqlpymysql ://' dbuser ' : ' dbpass ' @ ' dbhost '/' dbname

SQLALCHEMY_DATABASE_URI=DB_URI

新的myapp软件包

在同一个myapp包下

init.py

view.py

model.py

dadabase.py

init.py : fromflaskimportflask

from flask _ sqlalchemyimportsqlalchemy

APP=flask(_name__ )

App.secret_key=OS.urandom(24 ) #设置私钥以防止错误

App.config.from_object(config ) #导入配置信息

注意db=sqlalchemy(app ) #的顺序

from myapp导入视图,模型#的顺序如下

model.py :类用户(db.model ) :

__tablename__='user' #数据库中的表名

id=db.column(db.integer,primary_key=True ) )。

username=db.column (db.string (50 ),unique=True )。

password=db.column (db.string (50 ) )

phone=db.column(db.string(50 ),unique=True ) ) )。

address=db.column(db.string(50 ) )

role=db.column(db.string(50 ) ) ) ) )。

def _ _ init _ _ (自、用户名称、密码、电话、地址、角色) :

self.username=username

self.password=password

self.phone=phone

self.address=address

self.role=role

def __repr__(self ) :

return '' % self.user_name

数据库:数据库连接fromsqlalchemyimportcreate _ engine

from sqlalchemy.ormimportscoped _ session,sessionmaker

from sqlalchemy.ext.declarativeimportdeclarative _ base

导入fromconfigimportsqlalchemy _ database _ uri # config.py配置信息

#为了初始化数据库连接

engine=create _ engine (sqlalchemy _ database _ uri,convert_unicode=True ) ) ) ) ) ) )。

#获取连接目标

db _ session=scoped _ session (session maker ) autocommit=false,

autoflush=False,

bind=engine )

#获取对象

Base=declarative_base (

base.query=db _ session.query _ property (

definit_db(:

#连接

base.metadata.create _ all (bind=engine ) )。

view.py:

这里说明Flask框架正在使用路由。 重点是装饰器!

@app.route(/API/login ),methods=['POST ',' get ' ] ]

deflogin(: )

try:

phone=request.args.get('phone ) ) ) ) )。

password=request.args.get (password ) )。

(user=user.query.filter _ by (phone=phone ).first () ) ) ) ) ) )。

if user==None:

returnformattingdata(code=-1,msg='Not account!' ,数据=[ ] )

if user.password==password:

returnformattingdata(200,msg='Login success.',data={

' id': user.id,

' username': user.username,

' phone': user.phone

() )

else:

returnformattingdata (代码=-1,msg='Incorrect password.',data=[] )

Except密钥错误:

returnformattingdata(code=-1,msg='Sorry,login failed.',data=[] )

#此方法用于以json格式返回

efformattingdata (代码、msg、数据) :

返回JSON ify (

{

代码' :代码,

' msg' : msg,

'数据' :数据

}

接下来开车

test.py:

来自myapp导入应用程序

if __name__=='__main__':

app.run (调试=true,主机='0.0.0.0',端口=5000 ) )。

是否可以在浏览器中输入127.0.0.1:5000/api/login? phone=18078151341 password=queyiqin成功返回了数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。