本文整理汇总了Python中zds.utils.render_template函数的典型用法代码示例。如果您正苦于以下问题:Python render_template函数的具体用法?Python render_template怎么用?Python render_template使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了render_template函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: new_image
def new_image(request, gal_pk):
"""Creates a new image."""
gal = get_object_or_404(Gallery, pk=gal_pk)
# check if the user can upload new image in this gallery
try:
gal_mode = UserGallery.objects.get(gallery=gal, user=request.user)
if gal_mode.mode != 'W':
raise PermissionDenied
except:
raise PermissionDenied
if request.method == "POST":
form = ImageForm(request.POST, request.FILES)
if form.is_valid() and request.FILES["physical"].size < settings.IMAGE_MAX_SIZE:
img = Image()
img.physical = request.FILES["physical"]
img.gallery = gal
img.title = request.POST["title"]
img.slug = slugify(request.FILES["physical"])
img.legend = request.POST["legend"]
img.pubdate = datetime.now()
img.save()
# Redirect to the newly uploaded image edit page after POST
return redirect(reverse("zds.gallery.views.edit_image",
args=[gal.pk, img.pk]))
else:
return render_template("gallery/image/new.html", {"form": form,
"gallery": gal})
else:
form = ImageForm(initial={"new_image": True}) # A empty, unbound form
return render_template("gallery/image/new.html", {"form": form,
"gallery": gal})
开发者ID:Zikkee,项目名称:zds-site,代码行数:35,代码来源:views.py
示例2: new_password
def new_password(request):
'''Create a new password for a user'''
try:
token = request.GET['token']
except KeyError:
return redirect(reverse('zds.pages.views.home'))
if request.method == 'POST':
form = NewPasswordForm(request.POST)
if form.is_valid():
data = form.data
password = data['password']
token = get_object_or_404(TokenForgotPassword, token = token)
# User can't confirm his request if it is too late.
if datetime.now() > token.date_end:
return render_template('member/new_password_failed.html')
token.user.set_password(password)
token.user.save()
token.delete()
return render_template('member/new_password_success.html')
else:
return render_template('member/new_password.html', {'form': form})
form = NewPasswordForm()
return render_template('member/new_password.html', {
'form': form
})
开发者ID:ChantyTaguan,项目名称:zds-site,代码行数:31,代码来源:views.py
示例3: new_gallery
def new_gallery(request):
"""Creates a new gallery."""
if request.method == "POST":
form = GalleryForm(request.POST)
if form.is_valid():
data = form.data
# Creating the gallery
gal = Gallery()
gal.title = data["title"]
gal.subtitle = data["subtitle"]
gal.slug = slugify(data["title"])
gal.pubdate = datetime.now()
gal.save()
# Attach user
userg = UserGallery()
userg.gallery = gal
userg.mode = "W"
userg.user = request.user
userg.save()
return redirect(gal.get_absolute_url())
else:
return render_template("gallery/gallery/new.html", {"form": form})
else:
form = GalleryForm()
return render_template("gallery/gallery/new.html", {"form": form})
开发者ID:Aer-o,项目名称:zds-site,代码行数:30,代码来源:views.py
示例4: new_password
def new_password(request):
"""Create a new password for a user."""
try:
token = request.GET["token"]
except KeyError:
return redirect(reverse("zds.pages.views.home"))
token = get_object_or_404(TokenForgotPassword, token=token)
if request.method == "POST":
form = NewPasswordForm(token.user.username, request.POST)
if form.is_valid():
data = form.data
password = data["password"]
# User can't confirm his request if it is too late.
if datetime.now() > token.date_end:
return render_template("member/new_password/failed.html")
token.user.set_password(password)
token.user.save()
token.delete()
return render_template("member/new_password/success.html")
else:
return render_template("member/new_password.html", {"form": form})
form = NewPasswordForm(identifier=token.user.username)
return render_template("member/new_password/index.html", {"form": form})
开发者ID:tut-tuuut,项目名称:zds-site,代码行数:25,代码来源:views.py
示例5: edit_post
def edit_post(request):
"""Edit the given user's post."""
try:
post_pk = request.GET["message"]
except KeyError:
raise Http404
post = get_object_or_404(PrivatePost, pk=post_pk)
# Only edit last private post
tp = get_object_or_404(PrivateTopic, pk=post.privatetopic.pk)
last = get_object_or_404(PrivatePost, pk=tp.last_message.pk)
if not last.pk == post.pk:
raise PermissionDenied
g_topic = None
if post.position_in_topic >= 1:
g_topic = get_object_or_404(PrivateTopic, pk=post.privatetopic.pk)
# Making sure the user is allowed to do that. Author of the post
# must to be the user logged.
if post.author != request.user:
raise PermissionDenied
if request.method == "POST":
if "text" not in request.POST:
# if preview mode return on
if "preview" in request.POST:
return redirect(reverse("zds.mp.views.edit_post") + "?message=" + str(post_pk))
# disallow send mp
else:
raise PermissionDenied
# Using the preview button
if "preview" in request.POST:
form = PrivatePostForm(g_topic, request.user, initial={"text": request.POST["text"]})
form.helper.form_action = reverse("zds.mp.views.edit_post") + "?message=" + str(post_pk)
return render_template("mp/post/edit.html", {"post": post, "topic": g_topic, "form": form})
# The user just sent data, handle them
post.text = request.POST["text"]
post.text_html = emarkdown(request.POST["text"])
post.update = datetime.now()
post.save()
return redirect(post.get_absolute_url())
else:
form = PrivatePostForm(g_topic, request.user, initial={"text": post.text})
form.helper.form_action = reverse("zds.mp.views.edit_post") + "?message=" + str(post_pk)
return render_template("mp/post/edit.html", {"post": post, "topic": g_topic, "text": post.text, "form": form})
开发者ID:Zikkee,项目名称:zds-site,代码行数:52,代码来源:views.py
示例6: new
def new(request):
"""Creates a new private topic."""
if request.method == "POST":
# If the client is using the "preview" button
if "preview" in request.POST:
form = PrivateTopicForm(
initial={
"participants": request.POST["participants"],
"title": request.POST["title"],
"subtitle": request.POST["subtitle"],
"text": request.POST["text"],
}
)
return render_template("mp/topic/new.html", {"form": form})
form = PrivateTopicForm(request.POST)
if form.is_valid():
data = form.data
# Retrieve all participants of the MP.
ctrl = []
list_part = data["participants"].replace(",", " ").split()
for part in list_part:
part = part.strip()
if part == "":
continue
p = get_object_or_404(User, username=part)
# We don't the author of the MP.
if request.user == p:
continue
ctrl.append(p)
p_topic = send_mp(request.user, ctrl, data["title"], data["subtitle"], data["text"], True, False)
return redirect(p_topic.get_absolute_url())
else:
return render_template("mp/topic/new.html", {"form": form})
else:
if "username" in request.GET:
try:
# check that username in url is in the database
dest = User.objects.get(username=request.GET["username"]).username
except:
dest = None
else:
dest = None
form = PrivateTopicForm(initial={"participants": dest})
return render_template("mp/topic/new.html", {"form": form})
开发者ID:Zikkee,项目名称:zds-site,代码行数:52,代码来源:views.py
示例7: register_view
def register_view(request):
'''Register a new user'''
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
data = form.data
user = User.objects.create_user(
data['username'],
data['email'],
data['password'])
user.is_active=False
user.save()
profile = Profile(user=user, show_email=False, show_sign=True, hover_or_click=True)
profile.last_ip_address = get_client_ip(request)
profile.save()
user.backend = 'django.contrib.auth.backends.ModelBackend'
# Generate a valid token during one hour.
uuidToken = str(uuid.uuid4())
date_end = datetime.now() + timedelta(days=0, hours=1, minutes=0, seconds=0)
token = TokenRegister(user=user, token = uuidToken, date_end = date_end)
token.save()
#send email
subject = "ZDS - Confirmation d'inscription"
from_email = 'ZesteDeSavoir <[email protected]>'
message_html = get_template('email/confirm_register.html').render(
Context({
'username': user.username,
'url': token.get_absolute_url(),
})
)
message_txt = get_template('email/confirm_register.txt').render(
Context({
'username': user.username,
'url': token.get_absolute_url(),
})
)
msg = EmailMultiAlternatives(subject, message_txt, from_email, [user.email])
msg.attach_alternative(message_html, "text/html")
msg.send()
return render_template('member/register_success.html', {
'user': user
})
form = RegisterForm()
return render_template('member/register.html', {
'form': form
})
开发者ID:ChantyTaguan,项目名称:zds-site,代码行数:52,代码来源:views.py
示例8: settings_profile
def settings_profile(request):
"""User's settings about his personal information."""
# extra information about the current user
profile = request.user.profile
if request.method == "POST":
form = ProfileForm(request.POST)
c = {"form": form}
if form.is_valid():
profile.biography = form.data["biography"]
profile.site = form.data["site"]
profile.show_email = "show_email" \
in form.cleaned_data.get("options")
profile.show_sign = "show_sign" in form.cleaned_data.get("options")
profile.hover_or_click = "hover_or_click" \
in form.cleaned_data.get("options")
profile.email_for_answer = "email_for_answer" \
in form.cleaned_data.get("options")
profile.avatar_url = form.data["avatar_url"]
profile.sign = form.data["sign"]
# Save the profile and redirect the user to the configuration space
# with message indicate the state of the operation
try:
profile.save()
except:
messages.error(request, "Une erreur est survenue.")
return redirect(reverse("zds.member.views.settings_profile"))
messages.success(request,
"Le profil a correctement été mis à jour.")
return redirect(reverse("zds.member.views.settings_profile"))
else:
return render_template("member/settings/profile.html", c)
else:
form = ProfileForm(initial={
"biography": profile.biography,
"site": profile.site,
"avatar_url": profile.avatar_url,
"show_email": profile.show_email,
"show_sign": profile.show_sign,
"hover_or_click": profile.hover_or_click,
"email_for_answer": profile.email_for_answer,
"sign": profile.sign,
})
c = {"form": form}
return render_template("member/settings/profile.html", c)
开发者ID:tut-tuuut,项目名称:zds-site,代码行数:48,代码来源:views.py
示例9: history_validation
def history_validation(request, article_pk):
"""History of the validation of an article."""
article = get_object_or_404(Article, pk=article_pk)
# Get subcategory to filter validations.
try:
subcategory = get_object_or_404(
Category,
pk=request.GET['subcategory'])
except (KeyError, Http404):
subcategory = None
if subcategory is None:
validations = Validation.objects \
.filter(article__pk=article_pk) \
.order_by("date_proposition") \
.all()
else:
validations = Validation.objects \
.filter(article__pk=article_pk,
article__subcategory__in=[subcategory]) \
.order_by("date_proposition") \
.all()
return render_template('article/validation/history.html', {
'validations': validations,
'article': article,
'authors': article.authors,
'tags': article.subcategory,
})
开发者ID:Zikkee,项目名称:zds-site,代码行数:30,代码来源:views.py
示例10: list_validation
def list_validation(request):
"""Display articles list in validation."""
# Retrieve type of the validation. Default value is all validations.
try:
type = request.GET['type']
except KeyError:
type = None
# Get subcategory to filter validations.
try:
subcategory = get_object_or_404(
Category,
pk=request.GET['subcategory'])
except (KeyError, Http404):
subcategory = None
# Orphan validation. There aren't validator attached to the validations.
if type == 'orphan':
if subcategory is None:
validations = Validation.objects \
.filter(validator__isnull=True, status='PENDING') \
.order_by("date_proposition") \
.all()
else:
validations = Validation.objects \
.filter(validator__isnull=True, status='PENDING',
article__subcategory__in=[subcategory]) \
.order_by("date_proposition") \
.all()
# Reserved validation. There are a validator attached to the validations.
elif type == 'reserved':
if subcategory is None:
validations = Validation.objects \
.filter(validator__isnull=False, status='RESERVED') \
.order_by("date_proposition") \
.all()
else:
validations = Validation.objects \
.filter(validator__isnull=False, status='PENDING',
article__subcategory__in=[subcategory]) \
.order_by("date_proposition") \
.all()
# Default, we display all validations.
else:
if subcategory is None:
validations = Validation.objects \
.filter(Q(status='PENDING') | Q(status='RESERVED'))\
.order_by("date_proposition") \
.all()
else:
validations = Validation.objects \
.filter(status='PENDING',
article__subcategory__in=[subcategory]) \
.order_by("date_proposition") \
.all()
return render_template('article/validation/index.html', {
'validations': validations,
})
开发者ID:Zikkee,项目名称:zds-site,代码行数:60,代码来源:views.py
示例11: index
def index(request):
"""Display all public articles of the website."""
# The tag indicate what the category article the user would
# like to display. We can display all subcategories for articles.
try:
tag = get_object_or_404(SubCategory, title=request.GET['tag'])
except (KeyError, Http404):
tag = None
if tag is None:
article = Article.objects\
.filter(sha_public__isnull=False).exclude(sha_public="")\
.order_by('-pubdate')\
.all()
else:
# The tag isn't None and exist in the system. We can use it to retrieve
# all articles in the subcategory specified.
article = Article.objects\
.filter(sha_public__isnull=False, subcategory__in=[tag])\
.exclude(sha_public="").order_by('-pubdate')\
.all()
return render_template('article/index.html', {
'articles': article,
})
开发者ID:Zikkee,项目名称:zds-site,代码行数:25,代码来源:views.py
示例12: topic
def topic(request, topic_pk, topic_slug):
"""Display a thread and its posts using a pager."""
# TODO: Clean that up
g_topic = get_object_or_404(PrivateTopic, pk=topic_pk)
if not g_topic.author == request.user \
and request.user not in list(g_topic.participants.all()):
raise PermissionDenied
# Check link
if not topic_slug == slugify(g_topic.title):
return redirect(g_topic.get_absolute_url())
if request.user.is_authenticated():
if never_privateread(g_topic):
mark_read(g_topic)
posts = PrivatePost.objects.filter(privatetopic__pk=g_topic.pk)\
.order_by('position_in_topic')\
.all()
last_post_pk = g_topic.last_message.pk
# Handle pagination
paginator = Paginator(posts, settings.POSTS_PER_PAGE)
try:
page_nbr = int(request.GET['page'])
except KeyError:
page_nbr = 1
try:
posts = paginator.page(page_nbr)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
raise Http404
res = []
if page_nbr != 1:
# Show the last post of the previous page
last_page = paginator.page(page_nbr - 1).object_list
last_post = (last_page)[len(last_page) - 1]
res.append(last_post)
for post in posts:
res.append(post)
# Build form to add an answer for the current topid.
form = PrivatePostForm(g_topic, request.user)
return render_template('mp/topic/index.html', {
'topic': g_topic,
'posts': res,
'pages': paginator_range(page_nbr, paginator.num_pages),
'nb': page_nbr,
'last_post_pk': last_post_pk,
'form': form
})
开发者ID:Akulen,项目名称:zds-site,代码行数:60,代码来源:views.py
示例13: articles
def articles(request):
"""Returns all articles of the authenticated user."""
# The type indicate what the user would like to display. We can display
# public, draft or all user's articles.
try:
type = request.GET["type"]
except KeyError:
type = None
# Retrieves all articles of the current user.
profile = request.user.profile
if type == "draft":
user_articles = profile.get_draft_articles()
if type == "validate":
user_articles = profile.get_validate_articles()
elif type == "public":
user_articles = profile.get_public_articles()
else:
user_articles = profile.get_articles()
return render_template("article/member/index.html",
{"articles": user_articles, "type": type})
开发者ID:GaaH,项目名称:zds-site,代码行数:25,代码来源:views.py
示例14: details
def details(request, user_name):
'''Displays details about a profile'''
usr = get_object_or_404(User, username=user_name)
try:
profile = usr.get_profile()
bans= Ban.objects.filter(user=usr).order_by('-pubdate')
except SiteProfileNotAvailable:
raise Http404
#refresh moderation chart
dot_chart = pygal.Dot(x_label_rotation=30)
dot_chart.title = u'Messages postés par période'
dot_chart.x_labels = [u'Dimanche', u'Lundi', u'Mardi', u'Mercredi', u'Jeudi', u'Vendredi', u'Samedi']
dot_chart.show_legend = False
dates = date_to_chart(profile.get_posts())
for i in range(0,24):
dot_chart.add(str(i)+' h', dates[(i+1)%24])
img_path = os.path.join(settings.MEDIA_ROOT, 'pygal')
if not os.path.isdir(img_path) :
os.makedirs(img_path, mode=0777)
fchart = os.path.join(img_path, 'mod-{}.svg'.format(str(usr.pk)))
dot_chart.render_to_file(fchart)
return render_template('member/profile.html', {
'usr': usr, 'profile': profile, 'bans': bans
})
开发者ID:ChantyTaguan,项目名称:zds-site,代码行数:31,代码来源:views.py
示例15: index
def index(request):
"""Display the category list with all their forums."""
categories = top_categories(request.user)
return render_template("forum/index.html", {"categories": categories,
"user": request.user})
开发者ID:Aer-o,项目名称:zds-site,代码行数:7,代码来源:views.py
示例16: find_topic
def find_topic(request, user_pk):
"""Finds all topics of a user."""
u = get_object_or_404(User, pk=user_pk)
topics = \
Topic.objects\
.filter(author=u)\
.exclude(Q(forum__group__isnull=False) & ~Q(forum__group__in=u.groups.all()))\
.prefetch_related("author")\
.order_by("-pubdate").all()
# Paginator
paginator = Paginator(topics, settings.TOPICS_PER_PAGE)
page = request.GET.get("page")
try:
shown_topics = paginator.page(page)
page = int(page)
except PageNotAnInteger:
shown_topics = paginator.page(1)
page = 1
except EmptyPage:
shown_topics = paginator.page(paginator.num_pages)
page = paginator.num_pages
return render_template("forum/find/topic.html", {
"topics": shown_topics,
"usr": u,
"pages": paginator_range(page, paginator.num_pages),
"nb": page,
})
开发者ID:Aer-o,项目名称:zds-site,代码行数:31,代码来源:views.py
示例17: home
def home(request):
"""Display the home page with last topics added."""
tutos = []
for tuto in get_last_tutorials():
data = tuto.load_json_for_public()
data = tuto.load_dic(data)
tutos.append(data)
articles = []
for article in get_last_articles():
data = article.load_json_for_public()
data = article.load_dic(data)
articles.append(data)
try:
with open(os.path.join(SITE_ROOT, 'quotes.txt'), 'r') as fh:
quote = random.choice(fh.readlines())
except:
quote = u'Zeste de Savoir, la connaissance pour tous et sans pépins !'
return render_template('home.html', {
'last_tutorials': tutos,
'last_articles': articles,
'quote': quote,
})
开发者ID:Akulen,项目名称:zds-site,代码行数:26,代码来源:views.py
示例18: home
def home(request):
"""Display the home page with last topics added."""
tutos = []
for tuto in get_last_tutorials():
data = tuto.load_json_for_public()
data['pk'] = tuto.pk
data['image'] = tuto.image
data['gallery'] = tuto.gallery
data['pubdate'] = tuto.pubdate
data['update'] = tuto.update
data['subcategory'] = tuto.subcategory
data['get_absolute_url_online'] = reverse(
'zds.tutorial.views.view_tutorial_online',
args=[
tuto.pk,
slugify(
data['title'])])
tutos.append(data)
try:
with open(os.path.join(SITE_ROOT, 'quotes.txt'), 'r') as fh:
quote = random.choice(fh.readlines())
except:
quote = u'Zeste de Savoir, la connaissance pour tous et sans pépins !'
return render_template('home.html', {
'last_topics': get_last_topics(request.user),
'last_tutorials': tutos,
'last_articles': get_last_articles(),
'quote': quote,
})
开发者ID:Aer-o,项目名称:zds-site,代码行数:33,代码来源:views.py
示例19: new_image
def new_image(request, gal_pk):
'''
Creates a new image
'''
gal = get_object_or_404(Gallery, pk=gal_pk)
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid() \
and request.FILES['physical'].size < settings.IMAGE_MAX_SIZE:
img = Image()
img.physical = request.FILES['physical']
img.gallery = gal
img.title = request.POST['title']
img.slug = slugify(request.FILES['physical'])
img.legend = request.POST['legend']
img.pubdate = datetime.now()
img.save()
# Redirect to the document list after POST
return redirect(gal.get_absolute_url())
else:
# TODO: add errors to the form and return it
raise Http404
else:
form = ImageForm() # A empty, unbound form
return render_template('gallery/new_image.html', {
'form': form,
'gallery': gal
})
开发者ID:ChantyTaguan,项目名称:zds-site,代码行数:31,代码来源:views.py
示例20: new_gallery
def new_gallery(request):
'''
Creates a new gallery
'''
if request.method == 'POST':
form = GalleryForm(request.POST)
if form.is_valid():
data = form.data
# Creating the gallery
gal = Gallery()
gal.title = data['title']
gal.subtitle = data['subtitle']
gal.slug = slugify(data['title'])
gal.pubdate = datetime.now()
gal.save()
# Attach user
userg = UserGallery()
userg.gallery = gal
userg.mode = 'W'
userg.user = request.user
userg.save()
return redirect(gal.get_absolute_url())
else:
# TODO: add errors to the form and return it
raise Http404
else:
form = GalleryForm()
return render_template('gallery/new_gallery.html', {
'form': form
})
开发者ID:ChantyTaguan,项目名称:zds-site,代码行数:33,代码来源:views.py
注:本文中的zds.utils.render_template函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论