Если я выполнить следующий код:GAE хранилищу в Python не найти сущности, я знаю, существуют
def post(self):
name = self.request.get('username')
password = self.request.get('password')
user_is = users.all().filter('name =', name).get()
params = dict()
if user_is:
hashword = user_is.password
if check_password(username, password, hashword):
key = db.Key.from_path('users', str(user_is.key().id()))
c = db.get(key)
secret_cookie = make_cookie_secret(c)
self.response.headers.add_header('Set-Cookie', "user_id=%s; Path=/" % secret_cookie)
self.redirect('/blog/userwelcomepage')
else:
params['passworderror'] = "Invalid username/password"
self.render("pagelogin.html", **params)
else:
params['usernameerror'] = "No such user"
self.render("pagelogin.html", **params)
Датастор никогда не может найти что-либо в запросе фильтра. Я создал 2 специальные страницы для обеспечения данных я ищу действительно существует, тот, который перебирает прочь u=db.GqlQuery(SELECT * FROM users)
я прохожу U в шаблон дзиндзя, что итерирует
{% for i in u %}i.username<br>i.password<br>i.email{% endfor %}
Я вижу ожидаемое имя пользователя.
Затем я создал шаблон дзиндзя, который принимает в:
users.all()
Тогда я итерацию:
{% for i in users %}{% if i.username == "Joe"%}Yay{% else %}nope{% endif %}{% endfor %}
Имя пользователя, я ищу, Джо, производимую "Yay".
Почему Jinja может провести правильный матч, но Gql не может? Независимо от того, что я делаю, поиск, который фильтрует ли по «где» или по возврату .filter Нет
Ищет ключом, отлично работает и работает должным образом.
Кроме того, users.username является db.StringProperty(), поэтому она должна быть проиндексирована –