2017-06-23 6 views
-1

私は簡単なWebアプリケーションを書いています。これはRDBMSとしてSQLite、Pythonのボトルフレームワークとしてサーバ、残りはHTML、CSS、JavaScriptです。DBのIDとHTML IDをインターフェースする標準的な方法は何ですか?

ここで、HTMLタグは数字で始まるIDを持つことはできません。そして、データベースの主キーとしてtext/stringを使用するのは地獄です。

今はDB idを文字列に変換してから、_を追加すると、HTMLで正しく表示されます。そして、DBを更新する必要があるときにその逆を行います。しかし、私のコードは美しく見えません。

これらの2つの話をする標準的な方法は何ですか? PythonまたはJavaScriptでトランスレータを実装する場所はどこですか?この問題は従来のコンピュータサイエンスでどのような背景がありますか?


編集:それは猿はどこにでもtofrom機能をコーディングすることなく、正確にモデルとビューの仕事の両方を確保するための最良の方法は何(プログラマが呼び出すことを忘れかもしれませんより多くの特異性について

を求めてそれらのためそれ)。

また、大学でコンピューターサイエンスを勉強したり、JavaやHaskellなどの超学術言語を知っている場合、あなたのアプローチは何でしょうか。

+0

あなたの質問はこのプラットフォームでは広すぎます。特定の問題について特定の質問をする必要があります。 – Rob

+0

@ロブ - 私は同意する、この質問は広いですが、それは*正準の*と*デザインパターン*は息子のためのものです。 Googleで 'canonical stackoverflow.com'を検索すると、このプラットフォームで私の質問を「広すぎる」と誤解することになります – aim100k

+0

それは広すぎると同意できず、時間。加えて、あなたの編集はここでも話題にならない意見を求めています。 – Rob

答えて

0

official referenceを確認したが、あなたは正しいと思っていたが、数字で数字を始めることはできないというニュースだった。

実際には、整数とuuidsを多くのブラウザで何年も要素IDとして使用してきましたが、ブラウザでのレンダリングやJavaScriptによるアクセスに問題はありませんでした。

私の答えはそれを無視することです。 downvoteに対応して

EDIT

- 単なるhtmlファイルさまざまなブラウザで開くと開発ツールを使用して、この

<body> 
    <p id="1" onclick="alertme()">This is some text</p> 
    <script> 
     function alertme(){alert(document.getElementById('1').innerText);} 
    </script> 
</body> 

を試してみてください。

ブラウザが1つも不平を言っています。 (FirefoxにはHTMLタグやエンコーディングはないと言っているが、そこには行く)。すべてが機能します。これは現実世界のための簡単な実用的なアドバイスです。

+0

絶対に!ブラウザのベンダー自身が作成したWeb標準は、常に無視する必要があります。結局のところ、彼らは何を知っていますか? – Rob

+0

@Rob - 現実世界のアドバイス! –

+0

ブラウザは仕様上、不正なマークアップやコードでできる限りのことを行う必要があります。ブラウザーがあなたの意図を推測するのではなく、仕様に従う方がずっと賢いでしょう。あなたの答えは恐ろしいです。 – Rob

関連する問題