Appengine 检索与用户表单提交相关的数据

发布于 2024-09-18 09:26:27 字数 1162 浏览 11 评论 0原文

我已阅读 Appengine 的文档以了解如何从模型中检索数据。 但我错过了一些东西..

我的模型是用户和学生,其中学生是用户的参考属性。

用户登录,用一些值填充表单并使用 put() 保存数据。 如果您使用 [email protected] 登录,您将获得您的数据,或者如果您登录通过另一封电子邮件,您将获得与发送到数据库的信息相对应的数据。

到这里一切都很好。 我正在尝试获取 PDF 并希望从登录的用户获取数据。

示例:

class SavePDF(webapp.RequestHandler):
    def post(self):
        user = users.get_current_user()
        if user:
            student= models.Student.all().get()

        p = canvas.Canvas(self.response.out)

        p.drawImage('ipca.jpg', 40, 700)

        p.drawString(50,640, 'Student Info:'  + '%s'  % student.name)   
        p.drawString(50,620, 'Adress:'                 + '%s'  % student.adress)


        p.drawString(50,300, 'PDF updated:%s'  %          str(datetime.date.today()))

        p.showPage()
        self.response.headers['Content-Type'] = 'application/pdf'
        self.response.headers['Content-Disposition'] = 'filename=mypdf.pdf'
        p.save()

我在这里得到的是非当前用户的用户。显示有关其他用户的信息。 我尝试过不同的事情,但它会引发错误。 如果我尝试迭代会出现错误。

我缺少一些东西。

I had read the docs for Appengine to know how to retrieve data from Models.
But i´m missing something..

My models are user and student, where student is a reference property from user.

Users login, fill form with some values and save the data with put().
If you login with [email protected] you get your data or if you login with another email you get the data corresponding to your information sent to db.

Everythin is fine till here.
I´m trying to get a PDF and want to get the data from the user loged in.

Example:

class SavePDF(webapp.RequestHandler):
    def post(self):
        user = users.get_current_user()
        if user:
            student= models.Student.all().get()

        p = canvas.Canvas(self.response.out)

        p.drawImage('ipca.jpg', 40, 700)

        p.drawString(50,640, 'Student Info:'  + '%s'  % student.name)   
        p.drawString(50,620, 'Adress:'                 + '%s'  % student.adress)


        p.drawString(50,300, 'PDF updated:%s'  %          str(datetime.date.today()))

        p.showPage()
        self.response.headers['Content-Type'] = 'application/pdf'
        self.response.headers['Content-Disposition'] = 'filename=mypdf.pdf'
        p.save()

What i get here is a user that is not current user. Shows Info about other user.
I´ve tried different things but it throws errors.
If i try to iterate gives error.

I´m missing something.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生死何惧 2024-09-25 09:26:27

如果您的学生模型如下所示:

class Student(db.Model):
    user = db.UserProperty()
    name = db.StringProperty()
    address = db.StringProperty()

那么您可能想要这样的东西:

user = users.get_current_user() 
if user: 
    student = models.Student.all().filter('user =', user).get() 

If your Student model looks like this:

class Student(db.Model):
    user = db.UserProperty()
    name = db.StringProperty()
    address = db.StringProperty()

Then you probably want something like this:

user = users.get_current_user() 
if user: 
    student = models.Student.all().filter('user =', user).get() 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文