小编kbd*_*dev的帖子

Wag的分页

我对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)

我需要使用哪些代码才能实现此功能?提前致谢.

django blogs pagination wagtail

12
推荐指数
2
解决办法
2625
查看次数

如何在Flask模板中显示当前年份?

我想了解如何在Flask模板中输出当前年份.我知道在Django你可以使用{% now "Y" %}.,但有一个Flask等效吗?到目前为止,我在研究期间一直找不到任何东西.

python datetime templates flask

10
推荐指数
2
解决办法
9545
查看次数

自定义Wa尾网站地图

我正在尝试创建包含“ 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)

sitemap django wagtail

4
推荐指数
1
解决办法
972
查看次数

如何在 Django/Wagtail 中检索 cookie 以设置 Python 变量

我正在构建一个网站,根据用户来自哪个省份,该网站将包含一些不同的内容。如果没有设置 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 中的变量以在模板中使用?我不确定我接下来应该做什么。我错过了什么?

python django cookies jquery wagtail

4
推荐指数
1
解决办法
941
查看次数

在 Wagtail 的主页上显示博客文章

我正在构建一个 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)

django blogs wagtail

3
推荐指数
1
解决办法
2446
查看次数

Wagtail 2.0 内部链接不工作

我正在使用新版本的 Wagtail (2.0) 构建一个网站,当我尝试使用富文本编辑器在博客文章中添加内部链接(指向我网站中另一个页面的链接)时,超链接标签被删除并且只显示链接文本。呈现的代码是<a id="5" linktype="page">sample page</a>.

如果我添加一个外部链接,并将其设置为/sample-page/那么超链接会按预期工作。

有谁知道为什么会这样?

django richtextbox hyperlink wagtail

3
推荐指数
1
解决办法
613
查看次数

ManifestStaticFilesStorage 内部服务器错误

我正在尝试通过ManifestStaticFilesStorage. 当我上传到我的舞台服务器时,我得到一个Internal Server Error. 知道会发生什么吗?

\n\n

我的base.py是我的基础设置,stage.py是我的舞台设置。回溯也包含在下面。

\n\n

基础.py

\n\n
PROJECT_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/'\n
Run Code Online (Sandbox Code Playgroud)\n\n

阶段.py

\n\n
DEBUG = False\n\nSTATIC_ROOT = '/data/web/stage.sitename.com/web/static/'\nSTATIC_URL = '/static/'\n\nSTATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'\n
Run Code Online (Sandbox Code Playgroud)\n\n

追溯:

\n\n
File \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)

versioning django caching internal-server-error wagtail

1
推荐指数
1
解决办法
2374
查看次数

遍历 Django 模板中的 JSON 数据

我在迭代一些我设法导入到我的 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'。你如何在模板中抓取这些?

python django json wagtail

1
推荐指数
1
解决办法
5200
查看次数