ホーム>source

私のプロジェクトではDjango URLパターンを使用しています。含む文字列を送信しています特殊文字 そして。 Python関数で文字列を読み取る間、それは取得しません 関数内。

html

<前>ウィズウィズ

url

<前>ウィズウィズ

URLを介してすべての詳細を取得すると、Pythonコードで受け取った文字列には含まれません 入力に特殊文字と数字が含まれていてもマークを付けます。

入力: お名前は何ですか? 出力:あなたの名前は何ですか(疑問符は利用できません;)

質問 私はこれを試しました:

<前>ウィズウィズ

出力 現在のパスはどのURLとも一致しませんでした

私の要件の正確な正規表現を知りたいですか?

{% for user_name in userSet%} <a class="dropdown-item" href="/slackNotification/{{user_name}}/{{data.question}}">{{ user_name }}</a> {% endfor %}
あなたの答え
  • 解決した方法 # 1

    最初の path()  URLの各パスコンポーネントがURLエンコードされている限り、正しいです。ウィズウィズ  URLの特殊文字です。パスの終わりを示し、その後に続くものはクエリパラメータとして解釈されます。

    <前>ウィズウィズ

    パス ?  およびクエリパラメータ http://www.example.com/apples?color=green  値 http://www.example.com/apples

    したがって、文字列「あなたの名前は何ですか?」パスに含めるには、URLエンコードされていることを確認する必要があります: color  ここで green  URLエンコードされた What%20is%20your%20name%3F です  そして %3F   ? 用です 。

  • 解決した方法 # 2

    上記のソリューションとともに、urllib.parse.quoteおよびurllib.parse.unquoteの詳細については、PythonリンクのURLデコードUTF-8を参照してください。

    %20

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ Dockerコンテナー内のSSHトンネル