0

私はDjangoが初めてです。以下で私を助けてください。

URL1 と URL2 を提供するユーザー フォームがあります。これらの URL は別の Python スクリプト [ redirects.py] に渡す必要があります。このスクリプトは、有効な URL 形式であるかどうかを確認し、ユーザーにメッセージを返す検証を行います。

今、私の質問は、これを行うために my をどのように書くかviews.pyです。redirects.pyをインポートしてviews.py呼び出すことができることを知りました。しかし、ブラウザでメッセージを印刷する方法がわかりません。助けてください。さらに情報が必要な場合はお知らせください。

def shortcuts_process(request):
    print request.POST
    return HttpResponse("Source is %s\nDestination is %s" % (request.POST['source'],request.POST['destination']))

更新: これは私のスクリプトの概要です。redirects.py私のシステムには、ソース URL と宛先 URL を受け入れるPython スクリプト [ ] があります。受け入れられると、URL 形式であるかどうかを検証し、バックアップを取り.htaccess、ファイルに追加して、ファイルに追加された行を表示します。このすべてを実行している間、スクリプトで何が起こっているかについての情報をユーザーに知らせ続けます。

これで、django を作成して、ソースと宛先を入力するユーザーを提供する Web ポータルを作成しました。ここで、スクリプトを呼び出して、ユーザーの Web ブラウザーでviews.pyすべてのスクリプト出力を印刷したいと考えています。redirects.py

これを手に入れるのを手伝ってください。私はこの答えを探すのに丸一日費やしました。ありがとう。

Update 2: 以下がブラウザに表示されない理由を教えてください

からviews.py

def shortcuts_process(request):
 if 'source' in request.POST and 'destination' in request.POST and request.POST['source'] and request.POST['destination']:
            src=request.POST['source']
            desti= request.POST['destination']
            my_result=process_input(src,desti)
            return render_to_response('results.html',{'result': my_result}

からresults.html:

<html>    
<head>
This is the result page to User
</head>
<body>
<ul>
{% for each_line in result %}
<p>{{ each_line }}</p>
{% endfor %}
</ul>
<p>
I'm supposed to be printed</p>
</body>
</html>

ブラウザ出力から:

これはユーザーへの結果ページです

私は印刷されることになっている

Linux プロンプトから:

[10/Jun/2013 04:41:11] "GET /redirects HTTP/1.1" 200 727 [10/Jun/2013 04:41:14] "GET /choice?selection=shortcuts HTTP/1.1" 200 817 URL URL の形式が正しくありません [2013 年 6 月 10 日 04:41:18] "POST /shortcuts.conf HTTP/1.1" 200 125

それで、私の質問はThe URL is not in the right format、Linuxプロンプトに表示されるのではなく、なぜメッセージがブラウザに表示されないのかということです。助けてください。ありがとう

4

2 に答える 2

0

ブラウザに表示したい文字列が何であれ、HttpResponse で返します。

次のようなものを試すことができます:

#validation.py
def validate(url1, url2):
    # perform validation here
    if valid:
        return "urls are valid"
    else:
        return "urls are invalid"


#views.py
def shortcuts_process(request):
    print request.POST
    url1 = request.POST.get('url1', '')
    url2 = request.POST.get('url2'. '')
    return HttpResponse(validate(url1, url2))

それが役立つことを願っています。フォームの検証については、django book ( http://www.djangobook.com/en/2.0/chapter07.html )
の第 7 章を​​参照してください。

于 2013-06-10T03:06:55.090 に答える