这个问题不是专门针对django而是针对整个python。我想要做的是,当用户提交时,我将如何检查标题不应该以" " (空间)。它可以从任何其他角色开始,但不能从空间开始。
的观点:
def admin_page_create(request):
if request.is_ajax() and request.POST:
title = request.POST.get("title", "")
if title != '' or title != <<<regex or function() to check title does not start with a blank space>>>:
Page.objects.create(title=title, user=request.user)
data = "Created a new page: '" + title + "'."
return HttpResponse(json.dumps(data), content_type='application/json')
else:
data = 'You gave us a blank title. Please try again.'
return HttpResponse(json.dumps(data), content_type='application/json')
else:
raise Http404
答案 0 :(得分:6)
您可以使用索引0
获取字符串的第一个字符。然后,只需将其与" "
进行比较或使用.isspace()
。
if title[0] != " ":
if not title[0].isspace():
如@Andy和@Daniel所述,另一种可能更优雅的解决方案是使用.startswith()
。
if not title.startswith(" "):
答案 1 :(得分:2)
您可以使用startswith
方法:
title.startswith(' ')
答案 2 :(得分:1)
如果要检查第一个字符是否为空格:
if title.startswith(" "):
如果要检查第一个字符是否为空格,可以执行以下操作:
import re # regular expression module
if re.match(r"\s", title): # match() matches only at beginning of subject text.
# \s is any whitespace
或者这个:
if title != title.lstrip(): # lstrip removes whitespaces at the left (hence the "l")