質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.69%
Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

6919閲覧

現在表示されているページのURLを取得する方法

mulberryfields

総合スコア782

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

4グッド

5クリップ

投稿2015/12/23 13:09

Google App Engine(Python)で、質問サイト(teratailのようなもの)を作成しようとしています。
フレームワークとしてwebapp2、テンプレートエンジンとしてJinja2を利用しています。

質問一覧の中である質問をクリックすると当該質問の詳細ページに飛ぶようにしたいです。
teratailでも、https://teratail.com/という質問一覧画面があり、
質問の一つをクリックすると、
https://teratail.com/questions/00000
のような当該質問の詳細ページに飛んでいます。
この例でいうと、「00000」を、Pythonで取得したいです。
その数字を元に、データを引っ張ってくるためです。

どうしたら、現在表示されているページのURLを取得することができるでしょうか。
お分かりの方、ご教示頂ければ幸いです。
よろしくお願いいたします。

yterpu, TmNm_Bigger, av-👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

guest

回答1

0

ベストアンサー

The regex part is an ordinary regular expression (see the re module) that can define groups inside parentheses. The matched group values are passed to the handler as positional arguments.

URI routing — webapp2 v2.5.1 documentation

ということですので、

python

1class ShowQuestion(webapp2.RequestHandler): 2 def get(self, id): 3 question = Questions.get_by_id( int( id ) ) #数値idの場合intキャストする 4 # いろいろする 5 6app = webapp2.WSGIApplication([ 7 ('/questions/(.*)', ShowQuestion) 8], debug=True)

みたいな感じで使ってください。

投稿2015/12/25 01:15

Lhankor_Mhy

総合スコア34712

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

回答へのコメント

mulberryfields

2015/12/25 13:49

ご回答頂き、ありがとうございます。 ご回答頂いた方法でうまくできました。 URL routingという方法で解決できることが分かりました。 ちなみに、私があれから考えたのは、 from urlparse import urlparse int(urlparse('https://teratail.com/questions/23283').path.split('/')[2]) とすれば、23283 が返ってくるので、後は、現在ブラウザで表示されているURLを取得する方法がないものかと考えていました。 URL routingの方法を使えば、そんな考え方をしなくても、もっとシンプルに解決できるのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.69%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。