長い質問で申し訳ありませんが、私は混乱しており、何が必要なのか正確にはわかりません. したがって、何かを投稿する前に質問全体を読んで、より良いアイデアを得ることができます.
私はソフトウェア エンジニアリングの生協の学生ですが、上司は Tornado を使用して Web アプリケーションを開発するように求めています。私は高校でいくつかの html と css をやったことがありますが、これは本当に私の要素から外れています。
Tornado には、開始方法に関するチュートリアルがほとんどありません。確かに、Hello World の例はありますが、その後、チャット アプリケーションが破棄されます。私の場合は、バイナリで記述されている可能性があります。
tornado を使用してページをレンダリングし、データをパラメーターとして送信する方法を知っています。次に、そのデータを使用して、Web ページ自体 (データベース要求、ループなど) 内で何らかのロジックを実行できます。これで、関数を呼び出してテキストを書き込んだりアラートを作成したりするのに十分な Javascript を理解できました。
ここで、別の html ページに移動したい場合に問題が発生します。確かに、Javascript または html を使用して外部サイト (Google など) に移動できますが、同じディレクトリ内の関連ドキュメントに移動しようとすると、404 が返されます。上司は、POST を使用して調査するように求めています。 Tornado Server RequestHandler を呼び出すための GET 要求 (つまり、render をもう一度呼び出すことができます) ですが、その要求を作成/受信する方法がわかりません。
最後に、主な質問は 3 つあります。
- Tornado を適切に使用するには、他にどの言語を知っておく必要がありますか?
- 私はhtml、xslt、css、いくつかのJS、SQL、jsonを知っています
- 私は Web の第一人者になりたいわけではありません。基本だけは欲しい
- トルネード ハンドラーで GET/POST リクエストを行うにはどうすればよいですか?
- 相対 HTML ページにリダイレクトするにはどうすればよいですか?
これは私が使用している私のハンドラーです:
class MainHandler(RequestHandler):
def get(self):
print 'get...',
self.render('test.html', data = Data())
print 'done'
def post(self):
print 'post...',
pass
print 'done'
編集: RequestHandlers についてもう少し学びましたが、それらを行う適切な方法がわかりません。この RequestHandler で 2 つのページのリクエストを処理していますが、ページごとに 1 つのハンドラーを使用できるようにしたいと考えており、引数を最適な方法で解釈しているかどうかわかりません。また、引数を *args パラメータに渡す方法もわかりません。
def get(self, *args, ** kwargs):
print 'get:', args, kwargs, 'Handling:',
if len(self.get_arguments('user')) > 0:
print 'user'
self.render('page2.html', user = self.get_arguments('user')[0])
elif len(self.get_arguments('page')):
print 'specific page:', self.get_argument('page')
self.render(self.get_argument('page'), data = Data())
else:
print 'default'
self.render('test.html', data = Data())