2

用户在 textarea (HTML) 中编写代码我发布这样的表单:

<form id="codeid" method="post" enctype="application/x-www-form-urlencoded" name="code" action="192.168.56.2:8000/api/comp/">
    <input id="textarea_1" name="content" cols="80" rows="15" type="text" onkeypress="return runScript(event)"></input>
    <input id="thebutton" type="button" value="Submit"  onclick="document.forms.codeid.submit();" /> 
</form>

似乎用编码数据"application/x-www-form-urlencoded"不足以编码换行符,

这就是我将数据发送到其他应用程序的方式:

def comp(request):

    data = request.POST['content']
    url = urllib2.urlopen('http://192.168.56.2:8000/api/comp/?' + data)
    redirect('http://192.168.56.2:8000/api/comp/?' + data)
    tml = url.read()

    return HttpResponse(encoded_data) 

因此,例如,当用户键入 python 代码时;

def current_datetime(request):
    current_date=datetime.datetime.now()
    return render_to_response('index.html', locals())

这是收到的:

def+current_datetime%28request%29%3A++++current_date%3Ddatetime.datetime.now%28%29++++return+render_to_response%28%27index.html%27%2C+locals%28%29%29

换行没有编码。我试图<enter>从键盘捕获事件并添加\n到文本区域的值,但它没有奏效。

谢谢。

4

1 回答 1

0

urllib.urlquote()在将数据附加到 URL 之前,您可能需要数据:

>>> import urllib
>>> urllib.quote('\n')
'%0A'
于 2012-08-23T14:22:38.600 回答