ahoj kamaradi, pred par lety mi odesel vernej kamarad a byl bych rad, kdyby krome vzpominek zily i jeho pisnicky. v priloze zasilam jeho tvorbu, ktera se vam urcite bude libit.
youtube.com/@karelhamsik9631?si=8meI_ev5aBk4KfZp
youtu.be/532xQvOdIfQ?si=ovMlCFXQRsCq6zrV
Číst dál...
Taky se moc pridavam s prosbou o placenou verzi bez reklam. Diky
Byl bych ochotný si zaplatit "vip" co by zrušilo ty reklamy. Fakt bych si to nabídnul, takže moc prosím adminy stránky, aby to zvážili.
Ahoj. Při pročítání textů mě velice ruší až otravují ty reklamy. Opravdu musí každých 10 vteřin naskočit další reklama, i přesto že tu předchozí...Ahoj. Při pročítání textů mě velice ruší až otravují ty reklamy. Opravdu musí každých 10 vteřin naskočit další reklama, i přesto že tu předchozí vykřížkuji? Zobrazit více


Dobrý den. Našel jsem zde jednu svou písničku, konkrétně Stanice Svět a byly špatně akordy. Ty jsem opravil a chtěl jsem vložit více svých písní,...Dobrý den. Našel jsem zde jednu svou písničku, konkrétně Stanice Svět a byly špatně akordy. Ty jsem opravil a chtěl jsem vložit více svých písní, leč nevím zda to jde a případně jak. Děkuji. Flender. Zobrazit více


Proč mi nejde uložit písnička do již vytvořeného zpěvníku? Musím vždy vytvoŕit nový. To je trochu nepraktické. A když si uložím písničku do oblíbených,tak kde ty oblíbené pak najdu?
Číst dál...
Špatně neděláte nic, bohužel je to vlastnost tohoto zpěvníku. Musíte si pokaždé nastavit svoji tóninu. Ani nejde přidat soukromá poznámka ![]()
Číst dál...
Dobrý den,
Možná tu už podobný dotaz zazněl, jen se mi nepodařilo najít...
Po změně tóniny písničky a přidání do zpěvníku se ve zpěvníku zobrazí zase v původní tónině.
Co dělám špatně?
Předem děkuji za radu.
Číst dál...
Forntend:
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Písničky a Akordy</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Písničky a Akordy</h1>
<nav>
<a href="index.html">Domů</a>
<a href="login.html">Přihlásit se</a>
<a href="add-song.html">Přidat píseň</a>
</nav>
</header>
<main>
<h2>Seznam Písní</h2>
<div id="song-list">
<!-- Dynamicky načtený seznam písní -->
</div>
</main>
<script src="script.js"></script>
</body>
</html>
styl.css
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: #333;
color: #fff;
padding: 10px;
text-align: center;
}
header nav a {
color: #fff;
margin: 0 10px;
text-decoration: none;
}
main {
padding: 20px;
}
app.py
from flask import Flask, request, jsonify, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config = 'sqlite:///songs.db'
app.config = False
db = SQLAlchemy(app)
# Model pro databázi
class Song(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
artist = db.Column(db.String(100), nullable=False)
chords = db.Column(db.Text, nullable=False)
# Inicializace databáze
@app.before_first_request
def create_tables():
db.create_all()
# API pro získání seznamu písní
@app.route('/api/songs', methods=)
def get_songs():
songs = Song.query.all()
return jsonify([{"id": song.id, "title": song.title, "artist": song.artist} for song in songs])
# API pro přidání nové písně
@app.route('/api/songs', methods=)
def add_song():
data = request.json
new_song = Song(title=data, artist=data, chords=data)
db.session.add(new_song)
db.session.commit()
return jsonify({"message": "Píseň přidána!"}), 201
if __name__ == '__main__':
app.run(debug=True)
Databáze se vytvoří automaticky při spuštění aplikace Flask díky db.create_all()
script.js
document.addEventListener("DOMContentLoaded", () => {
const songList = document.getElementById("song-list");
// Načtení seznamu písní z API
fetch("/api/songs")
.then(response => response.json())
.then(data => {
data.forEach(song => {
const songDiv = document.createElement("div");
songDiv.textContent = `${song.title} - ${song.artist}`;
songList.appendChild(songDiv);
});
})
.catch(error => console.error("Chyba při načítání písní:", error));
});
Formular:
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Přidat Píseň</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Přidat Novou Píseň</h1>
</header>
<main>
<form id="add-song-form">
<label for="title">Název:</label><br>
<input type="text" id="title" required><br><br>
<label for="artist">Interpret:</label><br>
<input type="text" id="artist" required><br><br>
<label for="chords">Akordy/Text:</label><br>
<textarea id="chords" rows="5" required></textarea><br><br>
<button type="submit">Přidat píseň</button>
</form>
</main>
<script>
document.getElementById("add-song-form").addEventListener("submit", function(event) {
event.preventDefault();
const title = document.getElementById("title").value;
const artist = document.getElementById("artist").value;
const chords = document.getElementById("chords").value;
fetch("/api/songs", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ title, artist, chords })
})
.then(response => response.json())
.then(data => {
alert(data.message);
this.reset();
})
.catch(error => console.error("Chyba při přidávání písně:", error));
});
</script>
</body>
</html>
Číst dál...