0

私が見ることができることから、URL内から文字列を使用する2つの方法があります。URLConfを使用するか、request.GET.getを使用します。

request.GET.getメソッドを使用して、www.domain.co.uk / macoui=001100などのURLの=記号の後の文字列をキャプチャしようとしています。

URLConf

url(r'^macoui=\d{6}$', 'domain.views.output'),

意見

def output(request):
    if request.method == 'GET':
       request.GET.get('macoui', '')
       return render_to_response('template.html', {'response': '\'%s\' % (macoui)}, context_instance=RequestContext(request))

これを実行すると、「何も繰り返さない」というエラーが表示されます。

ありがとう、

4

3 に答える 3

1

ここにはかなりの数のエラーがあります。

パラメータを取得する方法は2つあると正しく述べた後、両方を混同しました。urlconf内のものを一致させる場合は、request.GETを使用してそれらを取得しません。とにかく、クエリ文字列パラメータ、つまり、が必要な部分でrequest.GETあるフォームのURL専用です。www.domain.co.uk/?param=value?

URLが実際にwww.domain.co.uk/macoui=001100-なしで?-である場合は、次のように正規表現を修正する必要があります。

url(r'^macoui=(?P<macaoui>\d{6})$', 'domain.views.output'),

そしてあなたの見解は次のとおりです。

def output(request, macaoui):

ただし、-可能性が非常に高いwww.domain.co.uk/?macoui=001100-URLが-疑問符付きの場合-URLconfは次のようになります。

url(r'^$', 'domain.views.output'),

そしてあなたの見解は次のようになります:

def output(request):
   macaoui = request.GET.get('macoui', '')
于 2013-03-06T21:31:24.347 に答える
0

この行に問題があると思います。

{'response': '\'%s\' % (macoui)}

最後のアポストロフィをエスケープしているため、文字列全体が閉じられることはありません。他の文字列区切り文字を使用することをお勧めします。

{'response': "'%s'" % (macoui)}

幸運を。

于 2013-03-06T21:00:35.697 に答える
-1

あなたは単にするべきです。

url(r'^/.*', 'domain.views.output'),

次に、URL、www.domain.co.uk /?macoui=001100を使用します

あなたの例のURLは、リクエストuriのgetパラメータ(request.GET)が'?'の後に続くので適切ではありません。

于 2013-03-06T20:51:10.610 に答える