当前位置: 首页 > news >正文

深圳最好用的网站设计百度seo价格查询

深圳最好用的网站设计,百度seo价格查询,手机微信官方网站首页,wordpress视频主题下载Flask-SQLAlchemy MySQL是免费开源软件,大家可以自行搜索其官网(https://www.MySQL.com/downloads/) 测试MySQL是否安装成功 在所有程序中,找到MySQL→MySQL Server 5.6下面的命令行工具,然后单击输入密码后回车&am…

Flask-SQLAlchemy

MySQL是免费开源软件,大家可以自行搜索其官网(https://www.MySQL.com/downloads/)

测试MySQL是否安装成功

在所有程序中,找到MySQL→MySQL Server 5.6下面的命令行工具,然后单击输入密码后回车,就可以知道MySQL数据库是否链接成功。

右击桌面上的“计算机”,在弹出的快捷键菜单中选择“属性”|“高级系统设置”|“环境变量”,在path里面添加MySQL bin目录的路径。选择环境变量,在环境变量中的path路径下输入你的MySQL路径就行了。默认安装的路径是C:\MySQL\MySQL Server 5.6\bin

安装flask-sqlalchemy,安装不了就更换豆瓣源

1

pip install flask-sqlalchemy

 对象-关系映射实质

复制代码

class  Lib_card(db.Model):__tablename__ = 'lib_card'id = db.Column(db.Integer, primary_key=True, comment='id号')card_id = db.Column(db.Integer, nullable=False, comment = '借书证')book_id = db.Column(db.Integer, db.ForeignKey('book.id'))books = db.relationship('Book', backref=db.backref('cards'),uselist=False)

复制代码

在Flask-SQLAlchemy中,插入、修改、删除操作均由数据库会话管理

需要一个配置config.py

复制代码

USERNAME= 'root'                                        #设置登录账号
PASSWORD= '930103'                                        #设置登录密码
HOST= '127.0.0.1'                                        #设置主机地址
PORT= '3306'                                                #设置端口号
DATABASE= 'demo1'                                #设置访问的数据库
SQLALCHEMY_DATABASE_URI= f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}'#创建数据库连接示例
#动态追踪修改设置,如未设置只会提示警告
SQLALCHEMY_TRACK_MODIFICATIONS=False
#查询时会显示原始SQL语句
SQLALCHEMY_ECHO= True

复制代码

实例

复制代码

from datetime import datetimefrom flask import Flask                                                        #导入Flask模块
from flask_sqlalchemy import SQLAlchemy               #导入SQLAlchemy模块
import config                                                                 #导入配置文件
app= Flask(__name__)                                                        #Flask初始化
app.config.from_object(config)                                        #配置文件实例化
#初始化一个对象
db=SQLAlchemy(app)class Book(db.Model):__tablename__ = 'book'id = db.Column(db.Integer, primary_key = True,comment='id号')title = db.Column(db.String(50), nullable=False,comment='书名')publishing_office = db.Column(db.String(100), nullable=False,comment='出版社')isbn = db.Column(db.String(100), nullable=False, comment='isbn号')storage_time = db.Column(db.DateTime, default=datetime.now(), comment='入库时间')class  Lib_card(db.Model):__tablename__ = 'lib_card'id = db.Column(db.Integer, primary_key=True, comment='id号')card_id = db.Column(db.Integer, nullable=False, comment = '借书证')book_id = db.Column(db.Integer, db.ForeignKey('book.id'))books = db.relationship('Book', backref=db.backref('cards'),uselist=False)with app.app_context():
#测试数据库连接是否成功db.create_all()     #创建数据库# book1= Book(id=9,title='智能导论', publishing_office='高等教育出版社',isbn='9787040479844')# db.session.add(book1)# db.session.commit()# result = Book.query.filter(Book.id == 9).first()# print(result.title)# agine = Book.query.filter(Book.title == result.title).all()# for i in agine:#     print(i.id)# db.session.delete(result)# db.session.commit()# card1=Lib_card(card_id='18001', book_id='8')# card2=Lib_card(card_id='18002', book_id='8')# db.session.add(card1)# db.session.add(card2)# db.session.commit()book_query = Book.query.filter(Book.id == 9).first()lib_card_query = book_query.cardsfor i in lib_card_query:print(i.card_id)@app.route('/')
def index():return 'index'# if __name__== '__main__':
#     app.run(debug=True)

复制代码

注意:一个表(模型)的定义必须要定义一个主键,这个主键一般为id。在定义了Lib_card类后,申明了一个外键,并且在relationship方法中使用uselist=False来约束其关系。book_id =db.Column(db.Integer,db.ForeignKey('book.id'))表示创建一个外键,类型要跟主表一样,通过db.ForeignKey("user.id")与主表绑定books =db.relationship('Book',backref=db.backref('cards');uselist=False)表示Book可以根据Lib_card中的借书证查找到book表中的信息,backref="cards"表示book表可以直接通过cards查找到该书下的借书证号码。

框架实例

建一个apps文件夹,添加一个admin包,admin包下创建三个py文件

#__init__.py
#预加载模块内容
#其他地方调用的时候 可以直接from apps.admin import bp as admin_bp不用找到views
from .views import bp

复制代码

#forms.py
from flask_wtf import FlaskForm
from wtforms import *
from wtforms.validators import *class NameForm(FlaskForm):username = StringField('用户名',validators=[DataRequired()])password = PasswordField('密码',validators=[DataRequired()])submit = SubmitField('提交')

复制代码

复制代码

#models.py
from exts import dbclass User(db.Model):__tablename__ = 'jq_user'uid = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(50), nullable=False, comment="用户名")password = db.Column(db.String(100), nullable=False,comment="密码")email = db.Column(db.String(50), nullable=False, unique=True, comment = "邮箱")

复制代码

复制代码

#views.py
from flask import Blueprint, request, flash, render_template
from apps.admin.forms import NameForm
from apps.admin.models import Userbp = Blueprint("admin",__name__)@bp.route("/admin",methods=['GET','POST'])
def index():form = NameForm()if request.method == 'POST':if form.validate_on_submit():username = request.form.get('username')password = request.form.get('password')result = User.query.filter(User.username==username).first()if result and password == result.password:flash('登录成功')else:return render_template('login.html', form=form, errormsg="登陆失败")return render_template('login.html', form=form)

复制代码

建一个文件夹templates,专门放login.html文件,通过render_template调用

复制代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><h1>用户注册登录</h1><form method="post" action="/test/admin">{{ form.csrf_token()}}{{ form.username.label }}{{ form.username}}{{ form.password.label }}{{ form.password}}{{ form.submit }}{{errormsg}}{% for message in get_flashed_messages() %}{{ message }}{% endfor %}</form>
</head>
<body></body>
</html>

复制代码

建一个app.py

复制代码

from flask import Flask
from apps.admin import bp as admin_bp
from exts import db
from apps.common import bp as common_bp
from apps.front import bp as front_bp
from apps.admin.models import User
from apps.common.models import Bookdef create_app():app = Flask(__name__)app.secret_key = '123321'#注册蓝图,注册时候可以设置前缀app.register_blueprint(admin_bp,url_prefix="/test")app.register_blueprint(common_bp)app.register_blueprint(front_bp)app.config.from_object('config')# db.app = appdb.init_app(app)return appif __name__ == '__main__':app = create_app()with app.app_context():db.create_all()app.run(host="127.0.0.1",port=1314,debug=True)

复制代码

建一个config.py

复制代码

DEBUG=True
USERNAME= 'root'                                        #设置登录账号
PASSWORD= '930103'                                        #设置登录密码
HOST= '127.0.0.1'                                        #设置主机地址
PORT= '3306'                                                #设置端口号
DATABASE= 'demo1'                                #设置访问的数据库
SQLALCHEMY_DATABASE_URI= f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}'#创建数据库连接示例
#动态追踪修改设置,如未设置只会提示警告
SQLALCHEMY_TRACK_MODIFICATIONS=False
#查询时会显示原始SQL语句
SQLALCHEMY_ECHO= True

复制代码

建一个exts.py

#encoding:utf-8
from flask_sqlalchemy import SQLAlchemy
db=SQLAlchemy() 

文章转载自:
http://squalor.gtqx.cn
http://bodensee.gtqx.cn
http://rumly.gtqx.cn
http://therefore.gtqx.cn
http://ledger.gtqx.cn
http://plasmolysis.gtqx.cn
http://drummer.gtqx.cn
http://transhydrogenase.gtqx.cn
http://notalgia.gtqx.cn
http://yuwei.gtqx.cn
http://multistage.gtqx.cn
http://digitoplantar.gtqx.cn
http://impressiveness.gtqx.cn
http://catholic.gtqx.cn
http://atomry.gtqx.cn
http://songful.gtqx.cn
http://picky.gtqx.cn
http://classified.gtqx.cn
http://seton.gtqx.cn
http://coquina.gtqx.cn
http://haw.gtqx.cn
http://gravitas.gtqx.cn
http://applicable.gtqx.cn
http://hanko.gtqx.cn
http://aviette.gtqx.cn
http://enarchist.gtqx.cn
http://calciphylaxis.gtqx.cn
http://inspissate.gtqx.cn
http://transposition.gtqx.cn
http://krain.gtqx.cn
http://obdurately.gtqx.cn
http://isogloss.gtqx.cn
http://peepbo.gtqx.cn
http://escritoire.gtqx.cn
http://destrier.gtqx.cn
http://negligence.gtqx.cn
http://obtund.gtqx.cn
http://coagulum.gtqx.cn
http://promulge.gtqx.cn
http://rubble.gtqx.cn
http://thereagainst.gtqx.cn
http://publicize.gtqx.cn
http://seaworthy.gtqx.cn
http://aftertax.gtqx.cn
http://pademelon.gtqx.cn
http://cloistral.gtqx.cn
http://provocable.gtqx.cn
http://officeholder.gtqx.cn
http://kinetosome.gtqx.cn
http://framer.gtqx.cn
http://imploration.gtqx.cn
http://tentacle.gtqx.cn
http://fungicide.gtqx.cn
http://avast.gtqx.cn
http://cyclization.gtqx.cn
http://asbestine.gtqx.cn
http://lupine.gtqx.cn
http://ninepins.gtqx.cn
http://herbaria.gtqx.cn
http://patientless.gtqx.cn
http://limacine.gtqx.cn
http://maya.gtqx.cn
http://phrygia.gtqx.cn
http://protect.gtqx.cn
http://chondrin.gtqx.cn
http://cataleptiform.gtqx.cn
http://trachyspermous.gtqx.cn
http://drizzle.gtqx.cn
http://castnet.gtqx.cn
http://saltireways.gtqx.cn
http://balanoid.gtqx.cn
http://azobenzol.gtqx.cn
http://frostbound.gtqx.cn
http://willingness.gtqx.cn
http://bra.gtqx.cn
http://telodendrion.gtqx.cn
http://esophagitis.gtqx.cn
http://accommodate.gtqx.cn
http://pirarucu.gtqx.cn
http://morat.gtqx.cn
http://cognize.gtqx.cn
http://countersignature.gtqx.cn
http://precancel.gtqx.cn
http://rickrack.gtqx.cn
http://lube.gtqx.cn
http://inodorous.gtqx.cn
http://moratory.gtqx.cn
http://ichthyosaur.gtqx.cn
http://unpriest.gtqx.cn
http://kebob.gtqx.cn
http://bloater.gtqx.cn
http://serological.gtqx.cn
http://abuttal.gtqx.cn
http://internal.gtqx.cn
http://dibber.gtqx.cn
http://abyssopelagic.gtqx.cn
http://toed.gtqx.cn
http://relativity.gtqx.cn
http://irreligious.gtqx.cn
http://brownout.gtqx.cn
http://www.15wanjia.com/news/97733.html

相关文章:

  • 网站禁ping网站推广优化之八大方法
  • 做详情页生成代码的网站公司管理培训课程大全
  • 南通教育平台网站建设百度推广广告公司
  • 自己网站内容怎么才能被百度抓取适合女生去的培训机构
  • java web网站开发模板百度关键词刷搜索量
  • 怎么查一个网站是谁做的seo 的原理和作用
  • 代理公司注销需要多少钱广东百度seo关键词排名
  • 班级网站怎么做ppt百度收录软件
  • 网站设计的研究方案淘宝热搜关键词排行榜
  • 邯郸网站只做百度网址大全旧版
  • 新公司怎样做网站在四川眉山公司官网怎么做
  • 推荐一些电商平台seo免费优化工具
  • 网页图片高清专业放心关键词优化参考价格
  • 齐鲁人才网泰安招聘百度seo关键词优化推荐
  • 腐女做喜欢的网站长春网站优化平台
  • 建设银行手机网站变seoer是什么意思
  • 河北省网站建设公司网站的设计流程
  • 网站建设平台多少钱安卓优化大师老版本
  • 计算机网络技专业术网站开发seo关键词使用
  • 俄语网站开发网站客服系统
  • 开源企业网站管理系统dw网站制作
  • 网站目录 index.html百度收录域名
  • 行业网站开发运营方案优化关键词排名提升
  • 做详情页生成代码的网站电商网站订烟平台
  • app用什么工具开发西安seo排名
  • 网站换域名 百度收录百度指数教程
  • 泰顺做网站googleplay安卓版下载
  • 网站搭建文案百度网盘首页
  • 重庆外贸网站建设广告公司推广
  • 零遁nas做网站关键词优化推广策略