鹈鹕-并非在格式化字符串时转换所有参数

时间:2019-01-05 00:26:18

标签: python python-3.x pelican

先用鹈鹕创建一个简单的静态页面。一切正常,直到我将主题更改为basic theme。本地运行正常,但是我尝试执行make githubmake publish时遇到此错误:

  

严重:TypeError:在字符串格式化期间并非所有参数都已转换   Makefile:75:目标“发布”的配方失败   制作:*** [发布]错误1

我按照文档所述安装了主题,但是它不起作用。 以下是我的pelicanconf.py

 #!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals

AUTHOR = 'Isaac'
SITENAME = 'Isaac's blog'
SITEURL = ''

PATH = 'content'

TIMEZONE = 'America/Los_Angeles'

DEFAULT_LANG = 'en'

# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None

# Blogroll
LINKS = (('Pelican', 'http://getpelican.com/'),
         ('Python.org', 'http://python.org/'),
         ('Jinja2', 'http://jinja.pocoo.org/'),
         ('You can modify those links in your config file', '#'),)

# Social widget
SOCIAL = (('You can add links in your config file', '#'),
          ('Another social link', '#'),)

DEFAULT_PAGINATION = 10

THEME='basic'



# Uncomment following line if you want document-relative URLs when developing
RELATIVE_URLS = True

3 个答案:

答案 0 :(得分:1)

转到base.html文件,该文件通常位于任何主题的templates文件夹中。然后找到'| format('并用不带引号的'.format(slug =')替换。应该可以解决错误“ TypeError:不是在格式化字符串时转换了所有参数。”

答案 1 :(得分:0)

您需要在SITENAME中转义撇号 所以改变:

    SITENAME = 'Isaac's blog'

收件人:

    SITENAME = 'Isaac\'s blog'

或者甚至更简单

    SITENAME = "Isaac's blog"

答案 2 :(得分:0)

我无法确定您是否已解决此问题,但这是我的2美分:

引起我注意的第一件事是围绕SITENAME的语法,并按照指示尝试修复该语法。但是,这不是造成问题的原因。

这可能是您的问题所在; fabfile.py。确保您的主题随附一个主题,然后检查

gh_pages()
方法以查看如何部署到GitHub页面。

如果没有一个文件,而且我不确定,请尝试从另一个主题导入fabfile,以查看是否可以解决问题。

或尝试运行其他主题。

或者,SHAMELESS PLUG:我目前正在研究自己的主题,此后就与pelican主题仓库进行了公关,如果它被接受,我很乐意在这里删除链接。