Merge pull request 'develope' (#2) from develope into main

Reviewed-on: #2
main
Kirill 2 years ago
commit aaf608d2d2
  1. 4
      demo/routes.py
  2. 127
      demo/templates/index.html
  3. 6
      demo/views/frontend.py
  4. 1
      entry.py

@ -3,5 +3,5 @@ import aiohttp
def setup_routes(app): def setup_routes(app):
app.router.add_routes( app.router.add_routes([aiohttp.web.get('/', frontend.index), aiohttp.web.post('/submit', frontend.button_clicked)])
[aiohttp.web.get('/', frontend.index), aiohttp.web.post('/button-clicked', frontend.button_clicked)])

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"/> <meta charset="UTF-8" />
<title>Знакомство с aiohttp</title> <title>Знакомство с aiohttp</title>
<style> <style>
html { html {
@ -10,91 +10,78 @@
body { body {
min-height: 100vh; min-height: 100vh;
background: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 35%, rgba(0, 212, 255, 1) 100%) background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%)
} }
h1{
h1 {
text-align: center;
color: white; color: white;
text-shadow: 0 2px 5px rgba(150, 150, 150, 0.8);
}
#root {
display: flex;
flex-direction: column;
align-items: center;
} }
p{
color:white;
.form {
width: 70%;
margin-bottom: 20px;
} }
.container{
.form__button { margin-left: 20vw;
text-align: center;
margin-top: 10px;
background-color: white;
cursor: pointer;
} }
#submit{
#myButton { margin-top: 20px;
box-sizing: border-box; border-radius: 10px;
width: 100%; height: 50px;
font-size: 18px; width:50vw;
outline: none; color:black;
border: none;
padding: 20px;
border-radius: 5px;
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
transition: 0.3s;
-webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
} }
#inputText{
#myButton:hover { border-radius: 10px;
-webkit-transition: 0.3s; height: 30px;
-moz-transition: 0.3s; width: 49.5vw;
transition: 0.3s;
-webkit-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.5);
} }
.container_result{
#myResult { margin-top: 20px;
min-height: 50px;
text-align: center; text-align: center;
color: white; width: 50vw;
text-shadow: 0 2px 5px rgba(150, 150, 150, 0.8); border: 3px solid white;
border-radius: 5px;
background-color: grey;
} }
</style> </style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head>
</head> <body>
<body> <div class="container">
<div>
<h1>Знакомство с aiohttp</h1> <h1>Знакомство с aiohttp</h1>
<div id="root"> <div id="root">
<div class="form"> <div class="form">
<div class="form__button"> <form id="myForm">
<button id='myButton'>Отправить</button> <input type="text" id="inputText" placeholder="Введите текст">
<div class="form__button"><button id='submit'>Отправить</button></div>
</form>
<div class="container_result">
<p id="response"></p>
</div> </div>
<p id="myResult"></p>
</div> </div>
</div> </div>
</body> </div>
<script> </body>
$(document).ready(function () { <script>
$("#myButton").click(function () { document.getElementById('myForm').addEventListener('submit', async function(event) {
$.ajax({ event.preventDefault(); // Предотвращаем отправку формы по умолчанию
type: "POST",
url: "/button-clicked", const inputText = document.getElementById('inputText').value;
dataType: "json",
success: function (response) { const response = await fetch('/submit', {
$("#myResult").text(response.result); method: 'POST',
} headers: {
}); 'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
'text': inputText
})
}); });
const responseText = await response.text();
document.getElementById('response').innerText = responseText;
}); });
</script> </script>
</html> </html>

@ -9,4 +9,8 @@ async def index(request):
async def button_clicked(request): async def button_clicked(request):
return aiohttp.web.json_response({'result': 'Button was clicked'}) data = await request.post()
text = data.get('text')
response_text = f'Вы ввели: {text}'
print(response_text)
return aiohttp.web.Response(text=response_text)

@ -5,3 +5,4 @@ app = create_app()
if __name__ == '__main__': if __name__ == '__main__':
aiohttp.web.run_app(app) aiohttp.web.run_app(app)

Loading…
Cancel
Save