本文整理汇总了Python中nereid.render_template函数的典型用法代码示例。如果您正苦于以下问题:Python render_template函数的具体用法?Python render_template怎么用?Python render_template使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了render_template函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_0010_change_context
def test_0010_change_context(self):
'''
Render template from local searchpath
'''
with Transaction().start(DB_NAME, USER, CONTEXT):
self.setup_defaults()
app = self.get_app()
with app.test_request_context('/'):
self.assertEqual(
render_template(
'tests/test-changing-context.html',
variable="a"
), 'a'
)
lazy_template = render_template(
'tests/test-changing-context.html',
variable="a"
)
self.assertTrue(
isinstance(lazy_template, LazyRenderer)
)
# Now change the value of the variable in the context and
# see if the template renders with the new value
lazy_template.context['variable'] = "b"
self.assertEqual(lazy_template, "b")
# Make a unicode of the same template
unicode_of_response = unicode(lazy_template)
self.assertEqual(unicode_of_response, "b")
self.assertTrue(
isinstance(unicode_of_response, unicode)
)
开发者ID:GauravButola,项目名称:nereid,代码行数:34,代码来源:test_templates.py
示例2: change_password
def change_password(cls):
"""
Changes the password
.. tip::
On changing the password, the user is logged out and the login page
is thrown at the user
"""
form = ChangePasswordForm()
if request.method == "POST" and form.validate():
if current_user.match_password(form.old_password.data):
cls.write([current_user], {"password": form.password.data})
logout_user()
return cls.build_response(
"Your password has been successfully changed! " "Please login again",
redirect(url_for("nereid.website.login")),
200,
)
else:
return cls.build_response(
"The current password you entered is invalid",
render_template("change-password.jinja", change_password_form=form),
400,
)
if form.errors and (request.is_xhr or request.is_json):
return jsonify(errors=form.errors), 400
return render_template("change-password.jinja", change_password_form=form)
开发者ID:fulfilio,项目名称:nereid,代码行数:30,代码来源:user.py
示例3: reset_account
def reset_account(cls):
"""
Reset the password for the user.
.. tip::
This does NOT reset the password, but just creates an activation
code and sends the link to the email of the user. If the user uses
the link, he can change his password.
"""
if request.method == 'POST':
user_ids = cls.search(
[
('email', '=', request.form['email']),
('company', '=', request.nereid_website.company.id),
]
)
if not user_ids or not request.form['email']:
flash(_('Invalid email address'))
return render_template('reset-password.jinja')
nereid_user, = user_ids
nereid_user.send_reset_email()
flash(_('An email has been sent to your account for resetting'
' your credentials'))
return redirect(url_for('nereid.website.login'))
return render_template('reset-password.jinja')
开发者ID:sharoonthomas,项目名称:nereid,代码行数:28,代码来源:user.py
示例4: reset_account
def reset_account(self):
"""
Reset the password for the user.
.. tip::
This does NOT reset the password, but just creates an activation
code and sends the link to the email of the user. If the user uses
the link, he can change his password.
"""
if request.method == "POST":
user_ids = self.search(
[("email", "=", request.form["email"]), ("company", "=", request.nereid_website.company.id)]
)
if not user_ids:
flash(_("Invalid email address"))
return render_template("reset-password.jinja")
self.create_act_code(user_ids[0], "reset")
user = self.browse(user_ids[0])
self.send_reset_email(user)
flash(_("An email has been sent to your account for resetting" " your credentials"))
return redirect(url_for("nereid.website.login"))
return render_template("reset-password.jinja")
开发者ID:shalabhaggarwal,项目名称:trytond-nereid,代码行数:25,代码来源:party.py
示例5: reset_account
def reset_account(cls):
"""
Reset the password for the user.
.. tip::
This does NOT reset the password, but just creates an activation
code and sends the link to the email of the user. If the user uses
the link, he can change his password.
"""
form = ResetAccountForm()
if form.validate_on_submit():
try:
nereid_user, = cls.search([
('email', '=', form.email.data),
('company', '=', current_website.company.id),
])
except ValueError:
return cls.build_response(
'Invalid email address',
render_template('reset-password.jinja'),
400
)
nereid_user.send_reset_email()
return cls.build_response(
'An email has been sent to your account for resetting'
' your credentials',
redirect(url_for('nereid.website.login')), 200
)
elif form.errors:
if request.is_xhr or request.is_json:
return jsonify(error=form.errors), 400
flash(_('Invalid email address.'))
return render_template('reset-password.jinja')
开发者ID:2cadz,项目名称:nereid,代码行数:34,代码来源:user.py
示例6: create_address
def create_address(cls):
"""
Create an address for the current nereid_user
GET
~~~
Return an address creation form
POST
~~~~
Creates an address and redirects to the address view. If a next_url
is provided, redirects there.
.. version_added: 3.0.3.0
"""
form = cls.get_address_form()
if request.method == 'POST' and form.validate():
party = request.nereid_user.party
address, = cls.create([{
'name': form.name.data,
'street': form.street.data,
'streetbis': form.streetbis.data,
'zip': form.zip.data,
'city': form.city.data,
'country': form.country.data,
'subdivision': form.subdivision.data,
'party': party.id,
}])
if form.email.data:
party.add_contact_mechanism_if_not_exists(
'email', form.email.data
)
if form.phone.data:
party.add_contact_mechanism_if_not_exists(
'phone', form.phone.data
)
return redirect(url_for('party.address.view_address'))
try:
return render_template('address-add.jinja', form=form)
except TemplateNotFound:
# The address-add template was introduced in 3.0.3.0
# so just raise a deprecation warning till 3.2.X and then
# expect the use of address-add template
warnings.warn(
"address-add.jinja template not found. "
"Will be required in future versions",
DeprecationWarning
)
return render_template('address-edit.jinja', form=form)
开发者ID:priyankajain18,项目名称:nereid,代码行数:53,代码来源:party.py
示例7: home_func
def home_func(self, file_id):
static_file_obj = Pool().get('nereid.static.file')
return render_template(
'home.jinja',
static_file_obj=static_file_obj,
static_file_id=file_id,
)
开发者ID:shalabhaggarwal,项目名称:nereid,代码行数:7,代码来源:test_static_file.py
示例8: render
def render(self, confirmation=None):
"""Render given sale order
:param sale: ID of the sale Order
:param confirmation: If any value is provided for this field then this
page is considered the confirmation page. This
also passes a `True` if such an argument is proved
or a `False`
"""
NereidUser = Pool().get('nereid.user')
# This Ugly type hack is for a bug in previous versions where some
# parts of the code passed confirmation as a text
confirmation = False if confirmation is None else True
# Try to find if the user can be shown the order
access_code = request.values.get('access_code', None)
if current_user.is_anonymous():
if not access_code:
# No access code provided, user is not authorized to
# access order page
return NereidUser.unauthorized_handler()
if access_code != self.guest_access_code:
# Invalid access code
abort(403)
else:
if self.party.id != request.nereid_user.party.id:
# Order does not belong to the user
abort(403)
return render_template(
'sale.jinja', sale=self, confirmation=confirmation
)
开发者ID:rajatguptarg,项目名称:nereid-checkout,代码行数:34,代码来源:sale.py
示例9: render
def render(cls, user_id, uri):
"Render the blog post"
NereidUser = Pool().get('nereid.user')
if 're_captcha_public' in CONFIG.options and request.is_guest_user:
comment_form = GuestCommentForm(
captcha={'ip_address': request.remote_addr}
)
else:
comment_form = PostCommentForm()
user = NereidUser(user_id)
posts = cls.search([
('nereid_user', '=', user.id),
('uri', '=', uri),
])
if not posts:
abort(404)
# if only one post is found then it is rendered and
# if more than one are found then the first one is rendered
post = posts[0]
if not (post.state == 'Published' or
request.nereid_user == post.nereid_user):
abort(403)
if request.is_xhr:
return jsonify(post.serialize())
return render_template(
'blog_post.jinja', post=post, comment_form=comment_form,
poster=user
)
开发者ID:openlabs,项目名称:nereid-blog,代码行数:34,代码来源:blog.py
示例10: new_post
def new_post(cls):
"""Create a new post
"""
post_form = BlogPostForm(request.form)
if request.method == 'POST' and post_form.validate():
post, = cls.create([{
'title': post_form.title.data,
'uri': post_form.uri.data,
'content': post_form.content.data,
'nereid_user': request.nereid_user.id,
'allow_guest_comments': post_form.allow_guest_comments.data,
}])
if post_form.publish.data:
cls.publish([post])
flash('Your post has been published.')
else:
flash('Your post has been saved.')
if request.is_xhr:
return jsonify(success=True, item=post.serialize())
return redirect(url_for(
'blog.post.render', user_id=post.nereid_user.id,
uri=post.uri
))
if request.is_xhr:
return jsonify(
success=request.method != 'POST', # False for POST, else True
errors=post_form.errors or None,
)
return render_template('blog_post_form.jinja', form=post_form)
开发者ID:openlabs,项目名称:nereid-blog,代码行数:31,代码来源:blog.py
示例11: new_password
def new_password(cls):
"""Create a new password
.. tip::
Unlike change password this does not demand the old password.
And hence this method will check in the session for a parameter
called allow_new_password which has to be True. This acts as a
security against attempts to POST to this method and changing
password.
The allow_new_password flag is popped on successful saving
This is intended to be used when a user requests for a password reset.
"""
form = NewPasswordForm(request.form)
if request.method == 'POST' and form.validate():
if not session.get('allow_new_password', False):
current_app.logger.debug('New password not allowed in session')
abort(403)
cls.write(
[request.nereid_user],
{'password': form.password.data}
)
session.pop('allow_new_password')
flash(_(
'Your password has been successfully changed! '
'Please login again'))
session.pop('user')
return redirect(url_for('nereid.website.login'))
return render_template('new-password.jinja', password_form=form)
开发者ID:baijum,项目名称:nereid,代码行数:34,代码来源:party.py
示例12: render
def render(cls, uri, page=1):
"""
Renders the template 'category.jinja' with the category and the
products of the category paginated in the context
:param uri: URI of the product category
:param page: Integer value of the page
"""
ProductTemplate = Pool().get('product.template')
categories = cls.search([
('displayed_on_eshop', '=', True),
('uri', '=', uri),
('sites', '=', request.nereid_website.id)
])
if not categories:
return NotFound('Product Category Not Found')
# if only one category is found then it is rendered and
# if more than one are found then the first one is rendered
category = categories[0]
products = Pagination(ProductTemplate, [
('products.displayed_on_eshop', '=', True),
('category', '=', category.id),
], page=page, per_page=cls.per_page)
return render_template(
'category.jinja', category=category, products=products
)
开发者ID:GauravButola,项目名称:nereid-catalog,代码行数:28,代码来源:product.py
示例13: render_wishlist
def render_wishlist(self):
"""
Render a template with the items in wishlist
"""
return render_template(
'wishlist.jinja', products=request.nereid_user.wishlist
)
开发者ID:shalabhaggarwal,项目名称:nereid-catalog,代码行数:7,代码来源:product.py
示例14: quick_search
def quick_search(cls):
"""
This version of quick_search uses elasticsearch to build
search results for searches from the website.
"""
Product = Pool().get('product.product')
page = request.args.get('page', 1, type=int)
phrase = request.args.get('q', '')
logger = Pool().get('elasticsearch.configuration').get_logger()
search_obj = Product._quick_search_es(phrase)
products = ElasticPagination(
Product.__name__, search_obj, page, Product.per_page
)
if products:
logger.info(
"Search for %s yielded in %d results." %
(phrase, products.count)
)
else:
logger.info(
"Search for %s yielded no results from elasticsearch." % phrase
)
return render_template(
'search-results.jinja',
products=products,
facets=products.result_set.facets
)
开发者ID:tarunbhardwaj,项目名称:nereid-webshop-elastic-search,代码行数:33,代码来源:website.py
示例15: render_task
def render_task(cls, task_id, project_id):
"""
Renders the task in a project
"""
task = cls.get_task(task_id)
comments = sorted(
task.history + task.work.timesheet_lines + task.attachments + task.repo_commits, key=lambda x: x.create_date
)
hours = {}
for line in task.work.timesheet_lines:
hours[line.employee] = hours.setdefault(line.employee, 0) + line.hours
if request.is_xhr:
response = cls.serialize(task)
with Transaction().set_context(task=task_id):
response["comments"] = [comment.serialize("listing") for comment in comments]
return jsonify(response)
return render_template(
"project/task.jinja",
task=task,
active_type_name="render_task_list",
project=task.parent,
comments=comments,
timesheet_summary=hours,
)
开发者ID:GauravButola,项目名称:nereid-project,代码行数:28,代码来源:task.py
示例16: test_0040_inheritance
def test_0040_inheritance(self):
'''Test if templates are read in the order of the tryton
module dependency graph. To test this we install the test
module now and then try to load a template which is different
with the test module.
'''
trytond.tests.test_tryton.install_module('nereid_test')
with Transaction().start(DB_NAME, USER, CONTEXT) as txn: # noqa
# Add nereid_test also to list of modules installed so
# that it is also added to the templates path
self.setup_defaults()
app = self.get_app()
self.assertEqual(len(app.jinja_loader.loaders), 3)
with app.test_request_context('/'):
self.assertEqual(
render_template('tests/from-module.html'),
'from-nereid-test-module'
)
txn.rollback()
Cache.drop(DB_NAME)
开发者ID:fulfilio,项目名称:nereid,代码行数:25,代码来源:test_templates.py
示例17: change_password
def change_password(cls):
"""
Changes the password
.. tip::
On changing the password, the user is logged out and the login page
is thrown at the user
"""
form = ChangePasswordForm(request.form)
if request.method == 'POST' and form.validate():
if request.nereid_user.match_password(form.old_password.data):
cls.write(
[request.nereid_user],
{'password': form.password.data}
)
flash(
_('Your password has been successfully changed! '
'Please login again')
)
logout_user()
return redirect(url_for('nereid.website.login'))
else:
flash(_("The current password you entered is invalid"))
return render_template(
'change-password.jinja', change_password_form=form
)
开发者ID:sharoonthomas,项目名称:nereid,代码行数:28,代码来源:user.py
示例18: edit_address
def edit_address(self, address=None):
"""
Create/Edit an Address
POST will create a new address or update and existing address depending
on the value of address.
GET will return a new address/existing address edit form
:param address: ID of the address
"""
form = AddressForm(request.form, name=request.nereid_user.name)
countries = [
(c.id, c.name) for c in request.nereid_website.countries
]
form.country.choices = countries
if address not in (a.id for a in request.nereid_user.party.addresses):
address = None
if request.method == 'POST' and form.validate():
if address is not None:
self.write(address, {
'name': form.name.data,
'street': form.street.data,
'streetbis': form.streetbis.data,
'zip': form.zip.data,
'city': form.city.data,
'country': form.country.data,
'subdivision': form.subdivision.data,
'email': form.email.data,
'phone': form.phone.data,
})
else:
self.create({
'name': form.name.data,
'street': form.street.data,
'streetbis': form.streetbis.data,
'zip': form.zip.data,
'city': form.city.data,
'country': form.country.data,
'subdivision': form.subdivision.data,
'party': request.nereid_user.party.id,
'email': form.email.data,
'phone': form.email.data,
})
return redirect(url_for('party.address.view_address'))
elif request.method == 'GET' and address:
# Its an edit of existing address, prefill data
record = self.browse(address)
form = AddressForm(
name=record.name,
street=record.street,
streetbis=record.streetbis,
zip=record.zip,
city=record.city,
country=record.country.id,
subdivision=record.subdivision.id,
email=record.email,
phone=record.phone
)
form.country.choices = countries
return render_template('address-edit.jinja', form=form, address=address)
开发者ID:shalabhaggarwal,项目名称:nereid,代码行数:60,代码来源:party.py
示例19: new_password
def new_password(self, sign, max_age=24 * 60 * 60):
"""Create a new password
This is intended to be used when a user requests for a password reset.
The link sent out to reset the password will be a timestamped sign
which is validated for max_age before allowing the user to set the
new password.
"""
form = NewPasswordForm(request.form)
if request.method == 'POST' and form.validate():
try:
unsigned = self._serializer.loads(
self._signer.unsign(sign, max_age=max_age),
salt='reset-password'
)
except SignatureExpired:
flash(_("The password reset link has expired"))
except BadSignature:
flash(_('Invalid reset password code'))
else:
if not self.id == unsigned:
current_app.logger.debug('Invalid reset password code')
abort(403)
self.write([self], {'password': form.password.data})
flash(_(
'Your password has been successfully changed! '
'Please login again'))
return redirect(url_for('nereid.website.login'))
return render_template(
'new-password.jinja', password_form=form, sign=sign, user=self
)
开发者ID:sharoonthomas,项目名称:nereid,代码行数:34,代码来源:user.py
示例20: registration
def registration(self):
"""
Invokes registration of an user
"""
registration_form = self.get_registration_form()
if request.method == 'POST' and registration_form.validate():
existing = self.search([
('email', '=', request.form['email']),
('company', '=', request.nereid_website.company.id),
])
if existing:
flash(_('A registration already exists with this email. '
'Please contact customer care')
)
else:
user_id = self.create({
'name': registration_form.name.data,
'display_name': registration_form.name.data,
'email': registration_form.email.data,
'password': registration_form.password.data,
'company': request.nereid_website.company.id,
})
self.create_act_code(user_id)
registration.send(user_id)
user = self.browse(user_id)
self.send_activation_email(user)
flash(
_('Registration Complete. Check your email for activation')
)
return redirect(
request.args.get('next', url_for('nereid.website.home'))
)
return render_template('registration.jinja', form=registration_form)
开发者ID:shalabhaggarwal,项目名称:nereid,代码行数:35,代码来源:party.py
注:本文中的nereid.render_template函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论