Django 处理URL中的保留字符

Django 处理URL中的保留字符,django,url,Django,Url,因此,我尝试使用Django编写一个简单的API,它使用twitter API为用户发送推文。我有: url(r'^(?P<twitter_id>\d+)/send_tweet/(?P<text>(.){,140})$', views.send_tweet, name='send_tweet'), url(r'^(?P\d+)/send_tweet/(?P(.){,140})$),views.send_tweet,name='send_tweet'), 还有一个视图s

因此,我尝试使用Django编写一个简单的API,它使用twitter API为用户发送推文。我有:

url(r'^(?P<twitter_id>\d+)/send_tweet/(?P<text>(.){,140})$', views.send_tweet, name='send_tweet'),
url(r'^(?P\d+)/send_tweet/(?P(.){,140})$),views.send_tweet,name='send_tweet'),
还有一个视图send_tweet,它接受两个参数twitter_id和text,并将文本作为tweet发送给该用户

我遇到的问题是,文本是否是带有保留字符(如“1.#Hello”)的字符串。那么文本参数中不包括#Hello

我已经指出,这是因为“#”和“?”等是URL中的保留字符。因此,我尝试将文本作为querystring的一部分传递,并使用视图中的
text=request.GET.GET('text')
访问它,但这也有同样的问题

有没有办法绕过这一点,读一些像#或#这样的人物?从url还是查询字符串?如果不是,那么让用户将他们的文本传递给tweet到我的API(即强制用户传递编码字符串,然后在视图中解码)的好解决方案是什么


编辑:因此,如果我强制用户将一个已编码的字符串传递到URL,它将正常工作(字符串由字符组成,例如%3A%24%23%40%3D%3F%25%5EQ%5E%24)。但是这是API中的一个公平要求吗?

期望用户这样做是不合理的。为什么不申请呢?

期望用户这样做是不合理的。为什么不申请呢?

这实际上只是滥用了url/查询字符串。文本应该以编码表单数据或json的形式出现在url的主体中,这实际上是对url/查询字符串的滥用。文本应该在url的主体中,作为编码的表单数据或json。我应该在哪里应用它?我不能在视图中调用它,因为在该点上已经传递了参数。很抱歉,如果这是一个明显的问题,但我对web devSorry非常陌生,我想我误解了您的设置,并使事情倒退。听起来你应该在他们发送后在视图中调用
decode
。我应该在哪里应用它?我不能在视图中调用它,因为在该点上已经传递了参数。很抱歉,如果这是一个明显的问题,但我对web devSorry非常陌生,我想我误解了您的设置,并使事情倒退。听起来你应该在他们发送后在你的视图中调用
decode