我对Wagtail很新,而且我正在创建一个有资源(博客)部分的网站,我不知道如何实现分页,这样每个页面和用户只有5个帖子必须单击一个数字(1,2,3等)才能转到下一页以查看接下来的5个帖子.
我在我的模板中有资源/博客索引页面的分页部分:
<ul class="pagination">
<li><a href="#"><i class="fa fa-angle-left"></i></a></li>
<li class="active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#"><i class="fa fa-angle-right"></i></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我需要使用哪些代码才能实现此功能?提前致谢.
我想了解如何在Flask模板中输出当前年份.我知道在Django你可以使用{% now "Y" %}.,但有一个Flask等效吗?到目前为止,我在研究期间一直找不到任何东西.
我正在尝试创建包含“ changefreq”和“ priority”的自定义Wagtail网站地图。默认值为“ lastmod”和“ url”。
根据Wagtail文档(http://docs.wagtail.io/en/latest/reference/contrib/sitemaps.html),您可以通过在/wagtailsitemaps/sitemap.xml中创建站点地图来覆盖默认模板
我已经做到了。该站点地图模板如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% spaceless %}
{% for url in urlset %}
<url>
<loc>{{ url.location }}</loc>
{% if url.lastmod %}<lastmod>{{ url.lastmod|date:"Y-m-d" }} </lastmod>{% endif %}
{% if url.changefreq %}<changefreq>{{ url.changefreq }}</changefreq>{% endif %}
{% if url.priority %}<priority>{{ url.priority }}</priority>{% endif %}
</url>
{% endfor %}
{% endspaceless %}
</urlset>
Run Code Online (Sandbox Code Playgroud)
我在设置中的“已安装的应用程序”中添加了“ wagtail.contrib.wagtailsitemaps”。我修改了Page类以包括get_sitemap_urls函数,以尝试覆盖它。
class BlockPage(Page):
author = models.CharField(max_length=255)
date = models.DateField("Post date")
body = StreamField([
('heading', blocks.CharBlock(classname='full title')),
('paragraph', blocks.RichTextBlock()),
('html', …Run Code Online (Sandbox Code Playgroud) 我正在构建一个网站,根据用户来自哪个省份,该网站将包含一些不同的内容。如果没有设置 cookie,我已经使用 jQuery/Bootstrap 设置了一个模式窗口,当用户登陆网站时弹出:
基本文件
<script type="text/javascript">
$(document).ready(function() {
if (Cookies.get('province') == null) {
$('#provinceModal').modal('show');
}
$('button#ontario').click(function() {
Cookies.set('province', 'ontario');
$('#provinceModal').modal('hide');
});
$('button#alberta').click(function() {
Cookies.set('province', 'alberta');
$('#provinceModal').modal('hide');
});
$('button#quebec').click(function() {
Cookies.set('province', 'quebec');
$('#provinceModal').modal('hide');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
cookie 设置正确,因为我可以在单击其中一个按钮后在浏览器中看到它们。我遇到的问题是使用 Python 检索 cookie。我想保存省变量,然后使用 if 语句显示某些内容(取决于省等于什么)。
我已经试过了,我能够将 cookie 打印到控制台:
饼干.py
import Cookie
import os
import requests
def get_cookies():
s = requests.session()
r = s.get("http://www.twitter.com")
cookie = r.cookies['_twitter_sess']
return cookie
Run Code Online (Sandbox Code Playgroud)
如何将此值传递给 Python 中的变量以在模板中使用?我不确定我接下来应该做什么。我错过了什么?
我正在构建一个 Wagtail 网站,该网站在博客索引页面上列出了博客文章,但我也想在网站的主页上显示最新的三篇文章。我当前在博客索引页面上显示博客的代码如下:
blog_index_page.html:
{% for blog in blogs %}
<div class="col-sm-12">
<div class="blog-post post-format-image">
<div class="blog-post-side">
<div class="blog-post-date">
<p class="date-day">{{ blog.date.day }}</p>
<p class="date-month">{{ blog.date|date:"M" }}</p>
</div>
</div>
<div class="blog-post-content">
<div class="post-media">
{% image blog.main_image width-1225 %}
</div>
<div class="post-info">
<h3 class="post-title"><a href="{{ blog.slug }}">{{ blog.title }}</a></h3>
</div>
<div class="post-content">
<p>{{ blog.intro }}</p>
</div>
<a class="btn btn-primary btn-sm" href="{{ blog.slug }}">Read More<i class="fa iconright fa-arrow-circle-right"></i></a>
</div>
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
博客模型.py
class ResourcePage(Page):
main_image = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True, …Run Code Online (Sandbox Code Playgroud) 我正在使用新版本的 Wagtail (2.0) 构建一个网站,当我尝试使用富文本编辑器在博客文章中添加内部链接(指向我网站中另一个页面的链接)时,超链接标签被删除并且只显示链接文本。呈现的代码是<a id="5" linktype="page">sample page</a>.
如果我添加一个外部链接,并将其设置为/sample-page/那么超链接会按预期工作。
有谁知道为什么会这样?
我正在尝试通过ManifestStaticFilesStorage. 当我上传到我的舞台服务器时,我得到一个Internal Server Error. 知道会发生什么吗?
我的base.py是我的基础设置,stage.py是我的舞台设置。回溯也包含在下面。
\n\n基础.py
\n\nPROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nBASE_DIR = os.path.dirname(PROJECT_DIR)\n\nSTATICFILES_FINDERS = [\n 'django.contrib.staticfiles.finders.FileSystemFinder',\n 'django.contrib.staticfiles.finders.AppDirectoriesFinder',\n]\n\nSTATICFILES_DIRS = [\n os.path.join(PROJECT_DIR, 'assets'),\n]\n\nSTATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'\n\nSTATIC_ROOT = os.path.join(BASE_DIR, 'static')\nSTATIC_URL = '/static/'\nRun Code Online (Sandbox Code Playgroud)\n\n阶段.py
\n\nDEBUG = False\n\nSTATIC_ROOT = '/data/web/stage.sitename.com/web/static/'\nSTATIC_URL = '/static/'\n\nSTATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'\nRun Code Online (Sandbox Code Playgroud)\n\n追溯:
\n\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/core/handlers/exception.py\xe2\x80\x9d in get_exception_response\n\n98. response = callback(request, **dict(param_dict, exception=exception))\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/newrelic-2.70.0.51/newrelic/hooks/framework_django.py\xe2\x80\x9d in wrapper\n\n503. return wrapped(*args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/utils/decorators.py\xe2\x80\x9d in _wrapped_view\n\n149. response = view_func(request, *args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/views/defaults.py\xe2\x80\x9d in page_not_found\n\n45. body = template.render(context, request)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/backends/django.py\xe2\x80\x9d …Run Code Online (Sandbox Code Playgroud) 我在迭代一些我设法导入到我的 Django Wagtail 项目中的 JSON 数据时遇到了问题。我想在从这里拉入的网站上列出旅行建议:http : //data.international.gc.ca/travel-voyage/index-updated.json
我能够在我的模型中这样做:
import requests
def get_context(self, request):
response = requests.get('http://data.international.gc.ca/travel-voyage/index-updated.json')
json_response = response.json()
data = json_response['data']
context = super(TravelAdvisoriesPage, self).get_context(request)
context['data'] = data
return context
Run Code Online (Sandbox Code Playgroud)
我现在不确定如何将数据放入我的模板中。我能够使用{{ data }}.
但是如何从 JSON 数据中提取特定项目?我想同时获取英文和法文名称、url-slug、advisory-text 等。所有这些都嵌套在data > country code > language > itemJSON 结构中。
我尝试过类似的事情:
{% for country in data %}
{{ data[country].eng.name }}<br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这给了我类似的错误Could not parse the remainder: '[country].eng.name' from 'data[country].eng.name'。你如何在模板中抓取这些?