first commit

master
15703877026 5 years ago
commit 381aec74e5

@ -0,0 +1,7 @@
<component name="ProjectDictionaryState">
<dictionary name="风华">
<words>
<w>wzjz</w>
</words>
</dictionary>
</component>

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.6 (untitled1) (2)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/templates" />
</list>
</option>
</component>
</module>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (untitled1) (2)" project-jdk-type="Python SDK" />
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jz.iml" filepath="$PROJECT_DIR$/.idea/jz.iml" />
</modules>
</component>
</project>

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="d6a74cf0-67c5-432a-992e-517f510b56ef" name="默认更改列表" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DatabaseView">
<option name="SHOW_INTERMEDIATE" value="true" />
<option name="GROUP_DATA_SOURCES" value="true" />
<option name="GROUP_SCHEMA" value="true" />
<option name="GROUP_CONTENTS" value="false" />
<option name="SORT_POSITIONED" value="false" />
<option name="SHOW_EMPTY_GROUPS" value="false" />
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
<option name="HIDDEN_KINDS">
<set />
</option>
<expand />
<select />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="HTML4 File" />
<option value="Python Script" />
<option value="HTML File" />
</list>
</option>
</component>
<component name="ProjectId" id="1amshvw4woMhFZpFep3cbTd11t2" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="DefaultHtmlFileTemplate" value="HTML File" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../../数据库系统概论/PythonWeb数据库应用讲座资料/PythonFlaskDemo/app.py" />
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.tslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
<property name="node.js.path.for.package.tslint" value="project" />
<property name="node.js.selected.package.eslint" value="(autodetect)" />
<property name="node.js.selected.package.tslint" value="(autodetect)" />
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PythonContentEntriesConfigurable" />
</component>
<component name="RunManager" selected="Python.jz">
<configuration name="wzjz.html" type="JavascriptDebugType" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/jz/wzjz.html" useBuiltInWebServerPort="true">
<method v="2" />
</configuration>
<configuration name="app" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="jz" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../../数据库系统概论/PythonWeb数据库应用讲座资料/PythonFlaskDemo" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../../数据库系统概论/PythonWeb数据库应用讲座资料/PythonFlaskDemo/app.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="jz" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="jz" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/jz.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="yingyong" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="jz" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/yingyong.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.jz" />
<item itemvalue="Python.app" />
<item itemvalue="Python.yingyong" />
<item itemvalue="JavaScript Debug.wzjz.html" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="d6a74cf0-67c5-432a-992e-517f510b56ef" name="默认更改列表" comment="" />
<created>1587352225125</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1587352225125</updated>
<workItem from="1587352251153" duration="3742000" />
<workItem from="1587367946103" duration="32600000" />
<workItem from="1587478533169" duration="5159000" />
<workItem from="1587507013467" duration="105835000" />
<workItem from="1588773509414" duration="2134000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="WindowStateProjectService">
<state x="386" y="82" key="#Inspections" timestamp="1587368625040">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="386" y="82" key="#Inspections/0.0.1536.824@0.0.1536.824" timestamp="1587368625040" />
<state x="361" y="71" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1588175645233">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="361" y="71" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1536.824@0.0.1536.824" timestamp="1588175645233" />
<state x="573" y="165" key="FileChooserDialogImpl" timestamp="1588176301100">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="573" y="165" key="FileChooserDialogImpl/0.0.1536.824@0.0.1536.824" timestamp="1588176301100" />
<state width="1493" height="210" key="GridCell.Tab.0.bottom" timestamp="1588773992565">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state width="1493" height="210" key="GridCell.Tab.0.bottom/0.0.1536.824@0.0.1536.824" timestamp="1588773992565" />
<state width="1493" height="210" key="GridCell.Tab.0.center" timestamp="1588773992565">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state width="1493" height="210" key="GridCell.Tab.0.center/0.0.1536.824@0.0.1536.824" timestamp="1588773992565" />
<state width="1493" height="210" key="GridCell.Tab.0.left" timestamp="1588773992565">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state width="1493" height="210" key="GridCell.Tab.0.left/0.0.1536.824@0.0.1536.824" timestamp="1588773992565" />
<state width="1493" height="210" key="GridCell.Tab.0.right" timestamp="1588773992565">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state width="1493" height="210" key="GridCell.Tab.0.right/0.0.1536.824@0.0.1536.824" timestamp="1588773992565" />
<state x="270" y="54" key="SettingsEditor" timestamp="1587425421505">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="270" y="54" key="SettingsEditor/0.0.1536.824@0.0.1536.824" timestamp="1587425421505" />
<state x="801" y="240" key="com.intellij.ide.util.TipDialog" timestamp="1588773510866">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="801" y="240" key="com.intellij.ide.util.TipDialog/0.0.1536.824@0.0.1536.824" timestamp="1588773510866" />
<state x="162" y="176" width="1157" height="572" maximized="true" key="dock-window-1" timestamp="1587652446308">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="162" y="176" width="1157" height="572" maximized="true" key="dock-window-1/0.0.1536.824@0.0.1536.824" timestamp="1587652446308" />
<state x="431" y="145" width="672" height="678" key="search.everywhere.popup" timestamp="1587711664940">
<screen x="0" y="0" width="1536" height="824" />
</state>
<state x="431" y="145" width="672" height="678" key="search.everywhere.popup/0.0.1536.824@0.0.1536.824" timestamp="1587711664940" />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/jz$app.coverage" NAME="app Coverage Results" MODIFIED="1588773987697" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/../../../数据库系统概论/PythonWeb数据库应用讲座资料/PythonFlaskDemo" />
<SUITE FILE_PATH="coverage/jz$jz.coverage" NAME="jz Coverage Results" MODIFIED="1588773992545" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/jz$yingyong.coverage" NAME="yingyong Coverage Results" MODIFIED="1587470350609" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component>
</project>

Binary file not shown.

@ -0,0 +1,17 @@
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 1, 2000);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 2, 5000);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 6, 50000);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 13, 2000);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 14, 1500);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 15, 200);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('514113007583765545A20001', 16, 5000);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 1, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 2, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 3, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 4, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 5, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 6, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 7, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 8, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 9, NULL);
INSERT INTO `budget` (`Pro_id`, `ma_id`, `number`) VALUES ('531100005620503332A20010', 10, NULL);

@ -0,0 +1,2 @@
INSERT INTO `charity` (`id`, `name`, `mobile`, `e_mail`, `password`) VALUES ('514113007583765545', '南阳市慈善总会', '037763121116', 'nyscszh@163.com', 'nycszh');
INSERT INTO `charity` (`id`, `name`, `mobile`, `e_mail`, `password`) VALUES ('531100005620503332', '北京春苗慈善基金会', '01084137619', 'chunmiaojjh@163.com', 'szhszh');

@ -0,0 +1 @@
INSERT INTO `jk` (`Pro_id`, `User_id`, `money`) VALUES ('531100005620503332A20010', '565793455', 1000);

@ -0,0 +1,224 @@
from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
# 设置数据库连接
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:20000521@127.0.0.1:3306/donation'
# 定义模型
class Platform(db.Model):
platform_id = db.Column(db.String(14), primary_key=True)
name = db.Column(db.String(255), unique=True)
mobile = db.Column(db.String(15), nullable=True)
e_mail = db.Column(db.String(25), unique=True)
address = db.Column(db.String(255), nullable=False)
class unit(db.Model):
unit_id = db.Column(db.String(50), primary_key=True)
unit_name = db.Column(db.String(255), unique=True)
class Material(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(255), unique=True)
Price = db.Column(db.Float, nullable=False)
class Charity(db.Model):
id = db.Column(db.String(19), primary_key=True)
name = db.Column(db.String(255), unique=True)
mobile = db.Column(db.String(15), nullable=False)
e_mail = db.Column(db.String(50), nullable=False)
password = db.Column(db.String(16), nullable=False)
class Project(db.Model):
id = db.Column(db.String(24), primary_key=True)
name = db.Column(db.String(255), nullable=False)
propose = db.Column(db.String(255), nullable=False)
goal = db.Column(db.Integer, nullable=False)
rate = db.Column(db.Integer)
plat_id = db.Column(db.String(14), db.ForeignKey(Platform.platform_id), nullable=False)
c_id = db.Column(db.String(19), db.ForeignKey(Charity.id), nullable=False)
class support(db.Model):
Pro_id = db.Column(db.String(24), db.ForeignKey(Project.id), primary_key=True, nullable=False)
unit_id = db.Column(db.String(50), db.ForeignKey(unit.unit_id), primary_key=True, nullable=False)
ma_id = db.Column(db.Integer, db.ForeignKey(Material.id), primary_key=True, nullable=False)
number = db.Column(db.Integer, nullable=False)
class budget(db.Model):
Pro_id = db.Column(db.String(24), db.ForeignKey(Project.id), primary_key=True)
ma_id = db.Column(db.Integer, db.ForeignKey(Material.id), primary_key=True)
number = db.Column(db.Integer)
class user(db.Model):
user_ID = db.Column(db.String(20), primary_key=True)
pass_word = db.Column(db.String(16), nullable=False)
plat_id = db.Column(db.String(14), db.ForeignKey(Platform.platform_id))
class jk(db.Model):
Pro_id = db.Column(db.String(24), db.ForeignKey(Project.id), primary_key=True)
User_id = db.Column(db.String(20), db.ForeignKey(user.user_ID), primary_key=True)
money = db.Column(db.Integer, nullable=False)
# 查询捐赠项目
@app.route('/select', methods=['GET'])
def select_project(user_id):
user_id = user_id
project = db.session.query(Project.id, Project.name, Project.propose, Project.goal, Project.rate, Charity.name,
Project.plat_id).filter(Project.c_id == Charity.id).filter(
Project.plat_id == Platform.platform_id).all()
platform = Platform.query.first()
return render_template("wzjz.html", pro_list=project, plat_list=platform, user_id=user_id)
@app.route('/')
def index():
return redirect('/enter')
@app.route('/enter', methods=['GET','POST'])
def user_enter():
if request.method == 'GET':
return render_template('enter.html')
else:
user_id = request.form['user_id']
pass_word = str(request.form['password'])
ser = user.query.filter(user.user_ID == user_id).first()
if pass_word == ser.pass_word:
return select_project(user_id)
else:
return redirect('/')
# 查看项目详情
@app.route("/chakan", methods=['GET'])
def select_detail():
id = request.args.get('id')
user_id = request.args.get('user_id')
project = Project.query.filter(Project.id == id).first()
charity = Charity.query.filter(Charity.id == project.c_id).first()
yu = db.session.query(Material.name, Material.Price, budget.number).filter(Material.id == budget.ma_id).filter(
budget.Pro_id == id).all()
sp = db.session.query(unit.unit_name, Material.name, support.number).filter(unit.unit_id == support.unit_id).filter(
Material.id == support.ma_id).filter(support.Pro_id == id).all()
return render_template("chakan.html", cha_list=charity, pro=project, yu_list=yu, sp_list=sp, user_id=user_id)
@app.route('/alter', methods=['GET', 'POST'])
def donate():
if request.method == 'GET':
user_id = request.args.get('user_id')
id = request.args.get('id')
project = Project.query.filter(Project.id == id).first()
return render_template('alter.html', project=project, user_id=user_id)
else:
user_id = request.form['user_id']
id = request.form['id']
money = int(request.form['money'])
jke = jk(Pro_id=id, User_id=user_id, money=money)
db.session.add(jke)
db.session.commit()
donation = Project.query.filter(Project.id == id).first()
donation.rate = donation.rate + (money / donation.goal) * 100
db.session.commit()
return select_project(user_id)
@app.route('/insert', methods=['GET', 'POST'])
def insert_project():
if request.method == 'GET':
cha_id = request.args.get('cha_id')
plat_id = request.args.get('plat_id')
return render_template('insert.html', plat_id=plat_id, cha_id=cha_id)
else:
id = request.form['id']
name = request.form['name']
propose = request.form['propose']
goal = int(request.form['number'])
plat_id = request.form['plat_id']
c_id = request.form['cha_id']
print(plat_id)
project = Project(id=id, name=name, propose=propose, goal=goal, rate=0, plat_id=plat_id, c_id=c_id)
db.session.add(project)
db.session.commit()
pro = Project.query.filter(Project.c_id == c_id).all()
return render_template("cha_select.html", pro_list=pro)
@app.route('/delete', methods=['GET'])
def pro_delete():
id = request.args.get('pro_id')
c_id = request.args.get('cha_id')
sp = support.query.filter(support.Pro_id == id).all()
for spp in sp:
db.session.delete(spp)
db.session.commit()
bd = budget.query.filter(budget.Pro_id == id).all()
for each in bd:
db.session.delete(each)
db.session.commit()
project = Project.query.filter(Project.id == id).first()
db.session.delete(project)
db.session.commit()
pro = Project.query.filter(Project.c_id == c_id).all()
return render_template("cha_select.html", pro_list=pro)
@app.route('/cha_pass', methods=['GET', 'POST'])
def cha_project():
if request.method == 'GET':
plat_id = request.args.get('plat_id')
plat = Platform.query.filter(Platform.platform_id == plat_id).first()
return render_template("cha_pass.html", plat_id=plat)
else:
plat_id = request.form['plat_id']
cha_name = request.form['cha_name']
cha_password = request.form.get('password')
c_id = db.session.query(Charity.id).filter(Charity.name == cha_name).first()
pass_word = db.session.query(Charity.password).filter(Charity.id == c_id).first()
if cha_password == pass_word[0]:
project = Project.query.filter(Project.c_id == c_id).all()
return render_template("cha_select.html", pro_list=project)
else:
return render_template('cha_pass.html', plat_id=plat_id)
@app.route('/update', methods=['GET', 'POST'])
def pro_update():
if request.method == 'GET':
pro_id = request.args.get('id')
a = pro_id
return render_template('update.html', pro_id=a)
else:
pro_id = request.form['pro_id']
ma_name = request.form['ma_name']
number = int(request.form['number'])
area_name = request.form.get('area_name')
ma_id = db.session.query(Material.id).filter(Material.name == ma_name).first()
pro = db.session.query(Charity.id).filter(Charity.id == Project.c_id).filter(Project.id == pro_id).first()
project = Project.query.filter(Project.c_id == pro).all()
area_id = db.session.query(unit.unit_id).filter(unit.unit_name == area_name).first()
ap = support(Pro_id=pro_id, area_id=area_id[0], ma_id=ma_id[0], number=number)
db.session.add(ap)
db.session.commit()
return render_template('cha_select.html', pro_list=project)
@app.route('/jk_detail')
def jk_detail():
pro_id = request.args.get('pro_id')
jz = jk.query.filter(jk.Pro_id == pro_id)
return render_template("detail.html", jk_list = jz)
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0', port=8800)

@ -0,0 +1,18 @@
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (1, '医用防护服', 350);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (2, '医用N95口罩', 20);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (3, '新生儿保温箱', 65000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (4, '新生儿转运系统', 280000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (5, '监护仪', 20000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (6, '一次性医用口罩', 2);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (7, '一次性医用橡胶口罩', 2);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (8, '有创呼吸机', 160000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (9, '无创呼吸机', 11000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (10, '制氧机', 4800);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (11, '负压救护车', 342000);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (12, '隔离衣', 60);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (13, '正压隔离衣', 70);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (14, '84消毒液2500ml)', 35);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (15, '95%医用酒精(50斤)', 375);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (16, '3M口罩', 36);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (17, '体外膜肺氧和仪Medos Delta Stream III', 1.4e+006);
INSERT INTO `material` (`id`, `name`, `Price`) VALUES (18, '全自动核酸提取仪MagNA Pure24', 600000);

@ -0,0 +1 @@
INSERT INTO `platform` (`platform_id`, `name`, `mobile`, `e_mail`, `address`) VALUES ('Z2000133000019', '支付宝', '057128997058', 'resume@alipay.com', '浙江省杭州市文三路478号华星时代广场22楼');

@ -0,0 +1,2 @@
INSERT INTO `project` (`id`, `name`, `propose`, `goal`, `rate`, `plat_id`, `c_id`) VALUES ('514113007583765545A20001', '防控疫情,大爱无疆', '为南阳市新冠肺炎疫情严重的防疫一线地区筹募资金,购置防护物资', 2000000, 100, 'Z2000133000019', '514113007583765545');
INSERT INTO `project` (`id`, `name`, `propose`, `goal`, `rate`, `plat_id`, `c_id`) VALUES ('531100005620503332A20010', '抗击疫情,众志成城', '为湖北、北京等各地医院及群众筹集善款采购疫情专项物资', 10000000, 86, 'Z2000133000019', '531100005620503332');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
/** layui-v2.4.5 MIT License By https://www.layui.com */
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save