将CSS添加到我的html中会炸毁我的python代码

时间:2019-06-10 16:27:43

标签: python html

我正在尝试将CS​​S添加到我的python代码生成的HTML中。发布HTML时,此行会导致错误:

html += '<link rel=\'stylesheet\' href=\'{{ url_for(\'static\', filename=\'css/main.css\') }}\'>'

我也尝试将引号放在外面,但出现同样的错误:

html += "<link rel=\'stylesheet\' href=\'{{ url_for(\'static\', filename=\'css/main.css\') }}\'>"

我得到的错误是:

requests.exceptions.HTTPError: 400 Client Error: Bad Request for url:

如果我删除那一行,我可以将其放置到网页上。

这是将HTML写入页面的代码:

def write_data_to_confluence(auth, html, pageid, title = None):
    info = get_page_info(auth, pageid)
    ver = int(info['version']['number']) + 1
    ancestors = get_page_ancestors(auth, pageid)
    anc = ancestors[-1]
    del anc['_links']
    del anc['_expandable']
    del anc['extensions']
    if title is not None:
        info['title'] = title
    data = {
        'id' : str(pageid),
        'type' : 'page',
        'title' : info['title'],
        'version' : {'number' : ver},
        'ancestors' : [anc],
        'body'  : {
            'storage' :
            {
                'representation' : 'storage',
                'value' : str(html)
            }
        }
    }
    data = json.dumps(data)
    url = '{base}/{pageid}'.format(base = BASE_URL, pageid = pageid)
    r = requests.put(
        url,
        data = data,
        auth = auth,
        headers = { 'Content-Type' : 'application/json' }
    )
    r.raise_for_status()
    print("Wrote '%s' version %d" % (info['title'], ver))
    print("URL: %s%d" % (VIEW_URL, pageid))

我认为我引错了。我尝试了几种不同的方法,但是还没有做好。我该如何正确引用?

2 个答案:

答案 0 :(得分:1)

尝试这种方法,

'''string'''

因为字符串用双引号引起来,所以不需要转义单引号。属性值用双引号引起来。

或者,使用三引号

"""string"""

答案 1 :(得分:0)

如果要使用字符串插值(CS1503 Argument 1: cannot convert from 'Receipt' to 'Document<DocumentLine>'),则需要使用f字符串:void Main() { var something = new Receipt(); DoStuff(something); } public void DoStuff(Document<DocumentLine> document) { } public abstract class DocumentLine { } public class BillLine : DocumentLine { } public class ReceiptLine : DocumentLine { } public abstract class Document<TDocLine> where TDocLine : DocumentLine { public List<TDocLine> Lines { get; set; } } public class Bill : Document<BillLine> { } public class Receipt : Document<ReceiptLine> { }

您还可以使用双引号引起来的字符串,而不必麻烦转义每个单引号:{{ url_for...

在更复杂的情况下,您可以使用多行字符串,它们中可以包含换行符和其他引号标记f'interpolation: {{url_for(whatever)}}'。有print("Single 'quotes' are fine here")''' this 'is' "ok" '''个版本,功能上相同。