Blogiprogramm: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
 
(ei näidata sama kasutaja 2 vahepealset redaktsiooni)
1. rida: 1. rida:
Serveris programm blog.py:
Serveris vaja teha sql tabel blog andmebaasi blog.sql, kus väljad content,date,time:
<pre>
create table blog(
  id integer primary key,
  content varchar(2000),
  date text,
  time text
);
</pre>
 
Flask peab järgnevas olema installeeritud.
Läptoppi või serverisse samasse kataloogi, kus blog.sql, pane programm blog.py ja käivita kui python blog.py:


<pre>
<pre>
29. rida: 40. rida:
</pre>
</pre>


ja sealsamas /static kataloogi all html:
ja sealsamas /static kataloogi alla pane html:


<pre>
<pre>
67. rida: 78. rida:


</pre>
</pre>
ja siis ava brauserist kui http://serverinimi:5000/static/blog.html

Viimane redaktsioon: 30. jaanuar 2020, kell 15:26

Serveris vaja teha sql tabel blog andmebaasi blog.sql, kus väljad content,date,time:

create table blog(
   id integer primary key, 
   content varchar(2000),
   date text,
   time text
);

Flask peab järgnevas olema installeeritud. Läptoppi või serverisse samasse kataloogi, kus blog.sql, pane programm blog.py ja käivita kui python blog.py:

from flask import Flask, request
import sqlite3
import json 
app = Flask(__name__)

@app.route('/blog', methods=['POST', 'GET'])
def sum():
  c=request.args.get("c",'')
  conn = sqlite3.connect('blog.sql')
  cur = conn.cursor()
  if c:
    sql = """ 
      insert into blog(content,date,time) 
      values ('"""+c+"""',date('now'),time('now'));
      """ 
    cur.execute(sql)
  sql2="""select id,content,date,time from blog"""
  cur.execute(sql2)
  res=cur.fetchall()
  cur.close()
  conn.commit()
  conn.close()
  return json.dumps(res)

app.run(debug=True, port=5000, host='0.0.0.0')

ja sealsamas /static kataloogi alla pane html:


<form>
  please enter blog text:<br>
  <input type='text' id='c'><p> 
  <input type='button' onclick='send()' 
    value='send'>
</form>
<div id="ans"></div>

<script>
function send() {
  var c,url;
  c=document.getElementById('c').value;  
  url="/blog?c="+c;
  fetch(url, {
    method: "get"
  }).then(r=>r.json()).then(handleresult);
}
function handleresult(r) {
  console.log(r);
  s="<p>";
  console.log("r length ",r.length);
  for(var i=0; i<r.length; i++) {
    console.log(i,r[i]);
    var elem=r[i];    
    line="<b>"+JSON.stringify(elem[1])+"</b> ";
    line=line+elem[2]+" "+elem[3];
    s=s+line+"<p>";

  }
  document.getElementById('ans').innerHTML=s;
}
</script>

ja siis ava brauserist kui http://serverinimi:5000/static/blog.html