我正在尝试将“字符串”参数传递给带有网址的视图。 urls.py去了
('^add/(?P<string>\w+)', add ),
我遇到字符串问题,包括标点符号,换行符,空格等。 我想我必须将\ w +改成别的东西。 基本上,字符串将是用户从他选择的文本中复制的内容,我不想更改它。我想接受任何字符和特殊字符,以便视图完全依赖于用户复制的内容。
如何更改?
谢谢!
答案 0 :(得分:4)
请注意,您只能使用可以理解为正确URL的字符串,将任何字符串作为url传递都不是一个好主意。
我使用这个正则表达式来允许我的网址中的字符串值:
(?P<string>[\w\-]+)
这允许有'slu ;;在你的网址中(例如:'this-is-my_slug')
答案 1 :(得分:2)
嗯,首先,网址中不允许有很多字符。为初学者考虑?
和空格。无论你做什么,Django都可能会阻止它们被传递到您的视图中。
其次,您想要阅读re模块。它是为这些URL匹配设置语法的原因。 \w
表示任何大写或小写字母,数字或_
(基本上是标识符字符,但不包括前导数字除外)。
将字符串传递给URL的正确方法是作为表单参数(即在URL中?paramName=
之后,并使用特殊字符进行转义,例如将空格更改为+
)。< / p>