示例#1
0
def main_page(request):
    # GET method ('key', 'value')
    guestbook_name = request.GET.get('guestbook_name', 'default_guestbook')
    # get key
    guestbook_key = Greeting.get_key_from_name(guestbook_name)
    # make query for select data ordered dsec
    greetings_query = Greeting.all().ancestor(guestbook_key).order('-date')
    # get result set
    greetings = greetings_query.fetch(10)
    
    # get user, if exist current user
    if users.get_current_user():
        # create logout url
        url = users.create_logout_url(request.get_full_path())
        url_linktext = 'Logout'
    else:
        # create login url
        url = users.create_login_url(request.get_full_path())
        url_linktext = 'Login'
        
    # set up values for use in template
    template_values = {
        'greetings': greetings,
        'guestbook_name': guestbook_name,
        'url': url,
        'url_linktext': url_linktext,
    }
    
    return direct_to_template(request, 'guestbook/main_page.html', template_values)
示例#2
0
文件: views.py 项目: SJ12/Cricket
def sign_post(request):
    if request.method == 'POST':
        guestbook_name = request.POST.get('guestbook_name')
        greeting = Greeting(parent=guestbook_key(guestbook_name))
    
        if users.get_current_user():
            greeting.author = users.get_current_user()
    
        greeting.content = request.POST.get('content')
        greeting.put()
        return HttpResponseRedirect('/?' + urllib.urlencode({'guestbook_name': guestbook_name}))
    return HttpResponseRedirect('/')
示例#3
0
    def post(self):
        guestbook_name = self.request.get('guestbook_name',DEFAULT_GUESTBOOK_NAME)
        greeting = Greeting(parent=guestbook_key(guestbook_name))

        if users.get_current_user():
            greeting.author = users.get_current_user()

        greeting.content = self.request.get('content')
        greeting.put()

        query_params = {'guestbook_name': guestbook_name}
        self.redirect('/guestbook/?' + urllib.urlencode(query_params))
示例#4
0
def sign_post(request):
    if request.method == 'POST':
        guestbook_name = request.POST.get('guestbook_name')
        greeting = Greeting(parent=guestbook_key(guestbook_name))

        # if users.get_current_user():
        #     greeting.author = users.get_current_user()

        greeting.content = request.POST.get('content')
        greeting.put()
        return HttpResponseRedirect(
            '/?' + urllib.urlencode({'guestbook_name': guestbook_name}))
    return HttpResponseRedirect('/')
示例#5
0
def main_page(request):
    guestbook_name = request.GET.get('guestbook_name', DEFAULT_GUESTBOOK_NAME)
    
    # Ancestor Queries, as shown here, are strongly consistent with the High
    # Replication Datastore. Queries that span entity groups are eventually
    # consistent. If we omitted the ancestor from this query there would be
    # a slight chance that Greeting that had just been written would not
    # show up in a query.
    greetings_query = Greeting.query(ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
    greetings = greetings_query.fetch(10)

    if users.get_current_user():
        url = users.create_logout_url(request.get_full_path())
        url_linktext = 'Logout'
    else:
        url = users.create_login_url(request.get_full_path())
        url_linktext = 'Login'

    template_values = {
        'greetings': greetings,
        'guestbook_name': guestbook_name,
        'url': url,
        'url_linktext': url_linktext,
    }
    #return direct_to_template(request, 'guestbook/main_page.html', template_values)
    return render(request, 'guestbook/main_page.html', template_values)
示例#6
0
def main_page(request):
    guestbook_name = request.GET.get('guestbook_name', DEFAULT_GUESTBOOK_NAME)

    # Ancestor Queries, as shown here, are strongly consistent with the High
    # Replication Datastore. Queries that span entity groups are eventually
    # consistent. If we omitted the ancestor from this query there would be
    # a slight chance that Greeting that had just been written would not
    # show up in a query.
    greetings_query = Greeting.query(
        ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
    greetings = greetings_query.fetch(10)

    # if users.get_current_user():
    #     url = users.create_logout_url(request.get_full_path())
    #     url_linktext = 'Logout'
    # else:
    #     url = users.create_login_url(request.get_full_path())
    #     url_linktext = 'Login'
    # url = users.create_login_url(request.get_full_path())
    url = ''
    url_linktext = 'Login'

    template_values = {
        'greetings': greetings,
        'guestbook_name': guestbook_name,
        'url': url,
        'url_linktext': url_linktext,
    }
    return render(request, 'guestbook/main_page.html', template_values)
示例#7
0
def main_page(request):
    guestbook_name = request.GET.get('guestbook_name', 'default_guestbook')
    guestbook_key = Greeting.get_key_from_name(guestbook_name)
    greetings_query = Greeting.all().ancestor(guestbook_key).order('-date')
    greetings = greetings_query.fetch(10)
    if users.get_current_user():
        url = users.create_logout_url(request.get_full_path())
        url_linktext = 'Logout'
    else:
        url = users.create_login_url(request.get_full_path())
        url_linktext = 'Login'
    template_values = {
        'greetings': greetings,
        'guestbook_name': guestbook_name,
        'url': url,
        'url_linktext': url_linktext,
    }
    return direct_to_template(request, 'guestbook/main_page.html', template_values)
示例#8
0
	def testFilterByUser(self):
		anonymous_user = users.User(email="*****@*****.**")
		test_user = users.User(email="*****@*****.**")
		Greeting(content = "Testing", parent = guestbook_key(DEFAULT_GUESTBOOK_NAME), author = anonymous_user).put()
		Greeting(content = "Testing2", parent = guestbook_key(DEFAULT_GUESTBOOK_NAME), author = test_user).put()
		greetings_query = Greeting.query(ancestor=guestbook_key(DEFAULT_GUESTBOOK_NAME)).filter(ndb.GenericProperty('author') == anonymous_user)
		results = greetings_query.fetch(2)
		self.assertEqual(1, len(results))
		self.assertEqual(anonymous_user, results[0].author)
示例#9
0
文件: views.py 项目: hnfong/bugivore
def sign(request, context=None):
    error = []
    # set the default logout location to the frontpage of guestbook
    request.GET = request.GET.copy() # make GET mutable
    request.GET[REDIRECT_FIELD_NAME] = reverse('guestbook.views.list')

    from guestbook.forms import MessageOnlyForm

    if request.method == 'POST':
        form = MessageOnlyForm(request.POST)
        if form.is_valid():
            message = form.cleaned_data['message']
            greeting = Greeting(author = request.user, message = message)
            greeting.put()
            return HttpResponseRedirect(reverse(list))
    else:
        form = MessageOnlyForm()
    return render_to_response('guestbook/sign.html', { 'form': form }, RequestContext(request))
示例#10
0
 def form_valid(self, form, **kwargs):
     # how to get velue in the form
     guestbook_name = form.cleaned_data['guestbook_name']
     content = form.cleaned_data['content']
     greeting = Greeting(parent=guestbook_key(guestbook_name))
     if users.get_current_user():
         greeting.author = users.get_current_user()
     greeting.guestbook_name = guestbook_name
     greeting.content = content
     greeting.put()
     return super(SignView, self).form_valid(form, **kwargs)
示例#11
0
文件: views.py 项目: paullzn/paullzn
def create_greeting(request):
    if request.method == "POST":
        greeting = Greeting()
        greeting.content = request.POST.get("content")
        greeting.isprivate = request.POST.get("isprivate")
        if greeting.isprivate == None:
            greeting.isprivate = 0

    try:
        user_id = request.session["user_id"]
    except KeyError:
        user_id = User.objects.all().filter(username="******")[0].id
    greeting.author = User.objects.get(id=user_id)

    greeting.save()

    return HttpResponseRedirect("/greeting/")
示例#12
0
文件: views.py 项目: paullzn/paullzn
def create_greeting(request):
	if request.method == 'POST':
		greeting = Greeting()
		greeting.content = request.POST.get('content')
		greeting.isprivate = request.POST.get('isprivate')
		if greeting.isprivate == None:
			greeting.isprivate = 0
	
	try:
		user_id = request.session['user_id']
	except KeyError:
		user_id = User.objects.all().filter( username='******')[0].id
	greeting.author = User.objects.get( id = user_id)
	
	greeting.save()
	
	return HttpResponseRedirect('/greeting/')
示例#13
0
 def get_context_data(self, **kwargs):
     guestbook_name = self.request.GET.get('guestbook_name',
                                           DEFAULT_GUESTBOOK_NAME)
     greetings_query = Greeting.query(
         ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
     greetings = greetings_query.fetch(10)
     if users.get_current_user():
         url = users.create_logout_url(self.request.get_full_path())
         url_linktext = 'Logout'
     else:
         url = users.create_login_url(self.request.get_full_path())
         url_linktext = 'Login'
     context = super(IndexView, self).get_context_data(**kwargs)
     context['guestbook_name'] = guestbook_name
     context['greetings_query'] = greetings_query
     context['greetings'] = greetings
     context['url'] = url
     context['url_linktext'] = url_linktext
     return context
示例#14
0
    def get(self):
        guestbook_name = self.request.get('guestbook_name',
                                            DEFAULT_GUESTBOOK_NAME)
        greetings_query = Greeting.query(
            ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
        greetings = greetings_query.fetch(10)

        if users.get_current_user():
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        template_values = {
            'greetings': greetings,
            'guestbook_name': urllib.quote_plus(guestbook_name),
            'url': url,
            'url_linktext': url_linktext,
        }

        template = settings.JINJA_ENVIRONMENT.get_template('guestbook/index.html')
        self.response.write(template.render(template_values))
示例#15
0
def sign_post(request):
    if request.method == 'POST':
        guestbook_name = request.POST.get('guestbook_name')
        guestbook_key = Greeting.get_key_from_name(guestbook_name)
        # get DB
        greeting = Greeting(parent=guestbook_key)
    
        # set author
        if users.get_current_user():
            greeting.author = users.get_current_user().nickname()
    
        # set content
        greeting.content = request.POST.get('content')
        # put to DB
        greeting.put()
        
        # return guestbook page by GET METHOD
        return HttpResponseRedirect('/?' + urllib.urlencode({'guestbook_name': guestbook_name}))
    
    return HttpResponseRedirect('/')
示例#16
0
文件: forms.py 项目: hnfong/bugivore
 def clean_message(self):
     message = Greeting.strip_message(self.cleaned_data['message'])
     try:
         Greeting.message.validate(message)
     except db.BadValueError, e:
         self._errors['message'] = ErrorList([force_unicode(e)])
示例#17
0
 def setUp(self):
     self.greeting = Greeting(content=u"a\n" * 30)
示例#18
0
def list_entries(request):
    return object_list(request, Greeting.all())
示例#19
0
	def testInsertEntity(self):
		Greeting(content = "Testing", parent = guestbook_key(DEFAULT_GUESTBOOK_NAME)).put()
		greetings_query = Greeting.query(ancestor=guestbook_key(DEFAULT_GUESTBOOK_NAME))
		self.assertEqual(1, len(greetings_query.fetch(2)))
示例#20
0
 def setUp(self):
     Greeting(content='This is a test greeting').save()
示例#21
0
 def get_queryset(self):
     guestbook_name = self.get_guestbook_name()
     return Greeting.query(ancestor=guestbook_key(guestbook_name)).order(
         -Greeting.date).fetch(5)
示例#22
0
文件: views.py 项目: hnfong/bugivore
def list(request, context=None):
    greetings = Greeting.all().order('-date').fetch(10)
    return render_to_response('guestbook/list.html', { 'greetings': greetings }, RequestContext(request))