페이지의 URL을 통해 제공되는 매개 변수를 기반으로 데이터 저장소에서 레코드를 가져와야하는 Google App Engine에 페이지가 있습니다. 페이지의 URL은 http://example.appspot.com/page/WILDCARD/처럼 보입니다. 여기서 WILDCARD는 레코드에 대한 고유 한 식별자 (32 자의 16 진수 문자열)입니다. 그런 다음 WILDCARD에서 지정한 레코드를 가져 와서 템플릿 page.html
에 표시하거나 적어도 그렇게해야합니다. 페이지에 http://example.appspot.com/page/WILDCARD/으로 액세스 할 때마다 404 오류가 발생합니다. 누가 왜/왜 다른 사람이 이유가 될지에 대한 이유를 알 수 있습니까? 감사. 내 WSGI 클래스 처리기에서Appengine 와일드 카드 URL 문제
, 나는
('/page/([^/]+)/', PageHandler),
이 있고 PageHandler
클래스 자체는
class PageHandler(webapp2.RequestHandler):
def get(self, recordID):
allrecords = db.GqlQuery("SELECT RECORD FROM RECORDS WHERE recordid = :record",record = recordID)
if not allrecords:
self.redirect("../") #the URL is screwed up, so we're redirecting you back to the main page
else:
for row in allrecords:
template = JINJA.get_template("page.html")
self.response.out.write(template.render({ "recordtext":row.RECORD, "recordid":recordID }))
추가 사항입니다 : JINJA
가 나는 아무것도 확신 해요, 그냥 기본 신사 환경입니다 그걸로 잘못 됐어. RECORDS
은 RECORD
, 텍스트 속성 및 recordid
문자열 속성이있는 db.Model
유형 클래스입니다. 현재 데이터가 없습니다.
편집 : 신경 쓰지 마라, 나는이 문제를 해결했다. 문제를 단순화 할 때 그것은 내 자신의 어리 석음이었습니다. 실제 구현시 (예 :이 예제의 복잡한 버전), 필자는 내 URL이 무엇이고 실제로/page /가 무엇인지에 대해 약간의 불일치가 있음을 확인했습니다. 사과.
app.yaml도 연결할 수 있습니까? 나는 리다이렉트가 제대로 거기에 놓이지 않을 수도 있다고 생각한다. – Patrice
내 애플리케이션 제목이 간단한 예에서 꽤 다르지만,이 페이지 핸들러와 관련된 내 YAML의 설정에서 유일하게 라인은 다음과 같습니다 - URL :. * 스크립트 보안 main.app : 실제로 사용 항상 – user3059347