add admin templates
This commit is contained in:
22
app.py
22
app.py
@@ -26,9 +26,9 @@ db.init_app(app)
|
|||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def index():
|
def index():
|
||||||
detals = PrintedDetal.query.all()
|
#detals = PrintedDetal.query.all()
|
||||||
|
|
||||||
return render_template("index.html", detals=detals)
|
return render_template("index.html") # , detals=detals)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/admin", methods=['GET', 'POST'])
|
@app.route("/admin", methods=['GET', 'POST'])
|
||||||
@@ -38,8 +38,8 @@ def admipage():
|
|||||||
logging.debug("POST QUERY loaded")
|
logging.debug("POST QUERY loaded")
|
||||||
|
|
||||||
|
|
||||||
image_file = request.files['images']
|
image_file = request.files['imgfile']
|
||||||
stl_file = request.files['stl']
|
stl_file = request.files['stlfile']
|
||||||
|
|
||||||
logging.debug(image_file)
|
logging.debug(image_file)
|
||||||
logging.debug(stl_file)
|
logging.debug(stl_file)
|
||||||
@@ -52,11 +52,15 @@ def admipage():
|
|||||||
else:
|
else:
|
||||||
isprinered = False
|
isprinered = False
|
||||||
|
|
||||||
detal = PrintedDetal(imgpath=image_file.filename,
|
logging.debug(image_file)
|
||||||
stlpath=stl_file.filename,
|
logging.debug(stl_file)
|
||||||
isprinted=isprinered)
|
logging.debug(isprinered)
|
||||||
db.session.add(detal)
|
|
||||||
db.session.commit()
|
#detal = PrintedDetal(imgpath=image_file.filename,
|
||||||
|
# stlpath=stl_file.filename,
|
||||||
|
# isprinted=isprinered)
|
||||||
|
#db.session.add(detal)
|
||||||
|
#db.session.commit()
|
||||||
|
|
||||||
return render_template("adminpage.html")
|
return render_template("adminpage.html")
|
||||||
|
|
||||||
|
|||||||
@@ -1,56 +1,62 @@
|
|||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background-color: #dcf3d0;
|
background-color: #dcf3d0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header{
|
header {
|
||||||
box-shadow: 0px 5px 10px 2px rgba(34, 60, 80, 0.2);
|
box-shadow: 0px 5px 10px 2px rgba(34, 60, 80, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.h1header {
|
.h1header {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background-color: #b5e9e9;
|
background-color: #b5e9e9;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
line-height: 100px;
|
line-height: 100px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #034956;
|
color: #034956;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.uploadform{
|
.uploadform {
|
||||||
margin: 30px;
|
margin: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.formsrow{
|
.formsrow {
|
||||||
|
|
||||||
border: #034956;
|
border: #034956;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="file"]::file-selector-button {
|
input[type="file"]::file-selector-button {
|
||||||
background-color:#ffe1d0;
|
background-color: #ffe1d0;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
border: thin solid #f26722;
|
border: thin solid #f26722;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="file"]::form-file-button:hover {
|
input[type="file"]::file-selector-button:hover {
|
||||||
background-color: #fff1b5;
|
background-color: #fff1b5;
|
||||||
color: #034956;
|
color: #034956;
|
||||||
border: 2px solid #034956;
|
border: 1px solid #034956;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background-color: #fef6dd;
|
||||||
|
border-radius: 12px;
|
||||||
|
box-shadow: 0px 5px 10px 2px rgba(34, 60, 80, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
background-color: #ffe1d0;
|
background-color: #ffe1d0;
|
||||||
color: #034956;
|
color: #034956;
|
||||||
border: 2px solid #f26722;
|
border: 2px solid #f26722;
|
||||||
|
border-radius: 5px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -61,3 +67,16 @@ input[type="file"]::form-file-button:hover {
|
|||||||
border: 2px solid #034956;
|
border: 2px solid #034956;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.formblock {
|
||||||
|
width: 100%;
|
||||||
|
border: 2px solid #034956;
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#printed {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
accent-color: #f26722;
|
||||||
|
}
|
||||||
@@ -58,3 +58,11 @@ header{
|
|||||||
h5{
|
h5{
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.mobile-margin{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,42 +2,42 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet"
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||||
integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
||||||
<link rel="stylesheet" href="css/adminpage.css">
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/adminpage.css')}}">
|
||||||
<title>3d Detals</title>
|
<title>3d Detals</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<h1 class="h1header"> Административная панель </h1>
|
<h1 class="h1header"> Административная панель </h1>
|
||||||
</header>
|
</header>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row ">
|
|
||||||
<form class="uploadform">
|
|
||||||
|
|
||||||
<div class="">
|
<div class="row ">
|
||||||
<label class="form-label" for="imgfile">Выберите изображение </label>
|
<form method="post" enctype=multipart/form-data>
|
||||||
<input type="file" class="form-control" id="imgfile" />
|
<label class=" d-block p-2">Выберите изображение </label>
|
||||||
<label class="form-label" for="origfile">Выберите исходный file </label>
|
<input class=" formblock d-block p-2" type="file" name="imgfile" />
|
||||||
<input type="file" class="form-control" id="origfile" />
|
<label class=" d-block p-2">Выберите исходный file </label>
|
||||||
<label class="form-label" for="stlfile">Выберите stl file </label>
|
<input class=" formblock d-block p-2" type="file" name="origfile" />
|
||||||
<input type="file" class="form-control" id="stflfile" />
|
<label class=" d-block p-2">Выберите stl file </label>
|
||||||
<button class="btn btn-block">Загрузить </button>
|
<input class=" formblock d-block p-2" type="file" name="stlfile" />
|
||||||
</div>
|
<label > Напечатано </label>
|
||||||
|
<input type="checkbox" class="bxigchekcbox" id="printed" name="isprinted">
|
||||||
|
<input class="btn d-block p-2" type="submit" value="Upload">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"
|
|
||||||
integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"
|
||||||
crossorigin="anonymous"></script>
|
integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet"
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||||
integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
||||||
<link rel="stylesheet" href="css/style.css">
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/style.css')}}">
|
||||||
<title>3d Detals</title>
|
<title>3d Detals</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -17,159 +17,41 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-4">
|
{% for i in range(10) %}
|
||||||
<div class="card">
|
|
||||||
<img class="card-img-top" src="img/1.jpg" alt="1 image">
|
|
||||||
<div class="card-body">
|
|
||||||
<dv class="row">
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
|
||||||
Напечатано
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<h5> 10.12.2004 </h5>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="card">
|
|
||||||
<img class="card-img-top" src="img/2.jpg" alt="1 image">
|
|
||||||
<div class="card-body">
|
|
||||||
<dv class="row">
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
|
||||||
Напечатано
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<h5> 10.12.2004 </h5>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="card">
|
|
||||||
<img class="card-img-top" src="img/3.jpg" alt="1 image">
|
|
||||||
<div class="card-body">
|
|
||||||
<dv class="row">
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
|
||||||
Напечатано
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<h5> 10.12.2004 </h5>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="card">
|
|
||||||
<img class="card-img-top" src="img/3.jpg" alt="1 image">
|
|
||||||
<div class="card-body">
|
|
||||||
<dv class="row">
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
|
||||||
Напечатано
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<h5> 10.12.2004 </h5>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card">
|
<div class="card mobile-margin">
|
||||||
<img class="card-img-top" src="img/3.jpg" alt="1 image">
|
<img class="card-img-top" src="{{url_for('static', filename='img/1.jpg')}}" alt="1 image">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<dv class="row">
|
<dv class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
<button class="btn btn-block mobile-margin">Скачать исходник</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
<button class="btn btn-block mobile-margin">Скачать stl </button>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col d-flex justify-content-center">
|
<div class="col d-flex justify-content-center">
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" disabled>
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
<label class="form-check-label" for="flexCheckDefault">
|
||||||
Напечатано
|
Напечатано
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col d-flex justify-content-center">
|
<div class="col d-flex justify-content-center">
|
||||||
<h5> 10.12.2004 </h5>
|
<h5> 22.10.2022</h5>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="card">
|
|
||||||
<img class="card-img-top" src="img/3.jpg" alt="1 image">
|
|
||||||
<div class="card-body">
|
|
||||||
<dv class="row">
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать исходник</button>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<button class="btn btn-block">Скачать stl </button>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault">
|
|
||||||
Напечатано
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col d-flex justify-content-center">
|
|
||||||
<h5> 10.12.2004 </h5>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{%endfor%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"
|
||||||
integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"
|
integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"
|
||||||
crossorigin="anonymous"></script>
|
crossorigin="anonymous"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user