Django搭建个人博客:使用Markdown语法书写文章

7376阅读 · 78评论 · 2018/09/17发布   前往评论

上一章我们实现了文章详情页面。为了让文章正文能够进行标题、加粗、引用、代码块等不同的排版(像在Office中那样!),我们将使用Markdown语法。

安装Markdown

Markdown是一种轻量级的标记语言,它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的或者HTML文档。建议读者一定要花五分钟时间熟悉一下Markdown的语法,熟练后码字效率一定会大幅提高。

关于Markdown语法看这里:Markdown 语法介绍

安装markdown也很简单:进入虚拟环境,输入指令pip install markdown即可。

使用Markdown

为了将Markdown语法书写的文章渲染为HTML文本,首先改写article/views.pyarticle_detail()

article/views.py

...

# 引入markdown模块
import markdown

def article_detail(request, id):
    article = ArticlePost.objects.get(id=id)

    # 将markdown语法渲染成html样式
    article.body = markdown.markdown(article.body,
        extensions=[
        # 包含 缩写、表格等常用扩展
        'markdown.extensions.extra',
        # 语法高亮扩展
        'markdown.extensions.codehilite',
        ])

    context = { 'article': article }
    return render(request, 'article/detail.html', context)

代码中markdown.markdown语法接收两个参数:第一个参数是需要渲染的文章正文article.body;第二个参数载入了常用的语法扩展,markdown.extensions.extra中包括了缩写、表格等扩展,markdown.extensions.codehilite则是后面要使用的代码高亮扩展。

然后,修改templates/article/detail.html中有关文章正文的部分:

templates/article/detail.html

...

# 在 article.body 后加上 |safe 过滤器
<p>{{ article.body|safe }}</p>

Django出于安全的考虑,会将输出的HTML代码进行转义,这使得article.body中渲染的HTML文本无法正常显示。管道符|是Django中过滤器的写法,而|safe就类似给article.body贴了一个标签,表示这一段字符不需要进行转义了。

这样就把Markdown语法配置好了。

启动服务器,在后台中新录入一条用markdown语法书写的文章,内容如下:

# 国风·周南·关雎
---
**关关雎鸠,在河之洲。窈窕淑女,君子好逑。**

参差荇菜,左右流之。窈窕淑女,寤寐求之。

---
+ 列表一
+ 列表二
    + 列表二-1
    + 列表二-2
---

```python
def article_detail(request, id):
    article = ArticlePost.objects.get(id=id)
    # 将markdown语法渲染成html样式
    article.body = markdown.markdown(article.body,
        extensions=[
        # 包含 缩写、表格等常用扩展
        'markdown.extensions.extra',
        # 语法高亮扩展
        'markdown.extensions.codehilite',
        ])
    context = { 'article': article }
    return render(request, 'article/detail.html', context)
```

注意:直接复制本段Markdown文字到你的项目中,可能导致语法高亮不正常(猜测是换行符导致的?)。建议读者手动输入。感谢读者micronuths的反馈

返回文章详情,结果如下:

很好,但是代码块还是不怎么好看。

写技术文章没有代码高亮怎么行。继续努力。

代码高亮

static目录中新建一个目录md_css/,一会儿放置代码高亮的样式文件。

重新打开一个命令行窗口,进入虚拟环境,安装Pygments:pip install Pygments

Pygments是一种通用语法高亮显示器,可以帮助我们自动生成美化代码块的样式文件。

在命令行中进入刚才新建的md_css目录中,输入Pygments指令:

pygmentize -S monokai -f html -a .codehilite > monokai.css

这里有一点需要注意, 生成命令中的 -a 参数需要与真实页面中的 CSS Selector 相对应,即.codehilite这个字段在有些版本中应写为.highlight。如果后面的代码高亮无效,很可能是这里出了问题。

回车后检查一下,在md_css目录中是否自动生成了一个叫monokai.css的文件,这是一个深色背景的高亮样式文件。

接下来我们在base.html中引用这个文件:

templates/base.html

<head>
    ...
    <link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">

    <!-- 引入monikai.css -->
    <link rel="stylesheet" href="{% static 'md_css/monokai.css' %}">

</head>
...

重新启动服务器,顺利的话看到如下:

除了Monokai这个深色的样式外,Pygments还内置了很多其他的样式,这个就看喜好选择了。

各种不同样式可以在这里参照:pygments-css


故障排查

此节 2018/12/22 新增

代码高亮这里遇到问题的读者比较多,因此展开讲一下如何排查问题。其他地方遇到类似问题也可以这样去做。

首先请查看网页的源代码:用Chrome浏览器的同学按Ctrl+U,其他浏览器请自行查找快捷键。

找到正文中书写代码块的部分。正常情况下这部分的源代码应该是这样的:

  • 代码块被<div class="codehilite">包裹(或者<div class="highlight">

  • 代码内容被各种不同的<span>包裹

根据源代码,可能出现的问题分为以下两种:

  • 如果看到的源代码跟上面的很像,很可能是模板出了问题

  • 如果看到的源代码跟上面的区别很大,很可能是视图出了问题

下面分别说说怎么解决。

如果模板出了问题:

  • 检查monokai.css这个文件是否正常载入。检查方法就是直接点击网页源代码中的<link>引用链接,看是否正常。

  • 如果链接正常,看一下每行开头字段是.codehilite还是highlight,确保和包裹代码块的字段相对应

  • 如果链接不正常,查看settings.py中是否忘记写STATIC_URL或者STATICFILES_DIRS字段

  • 进入浏览器开发者模式,查看monokai.css样式是否被别的样式所覆盖。Chrome请按F12或者Ctrl+Shift+I

  • 最后清除浏览器缓存,重启服务器

如果视图出了问题:

  • 重新安装 markdown 和 pygments,卸载指令是pip uninstall xxx

  • 注释掉markdown.extensions.extra或者markdown.extensions.codehilite,刷新网页源代码看看是否有变化。如果没有变化说明扩展没有正确载入

  • 最后清除浏览器缓存,重启服务器

特别提醒markdown中代码块的书写:

  • 开头:单独一行。三个点符(英文输入法时,Tab键上面那个键),后紧跟python这个单词

  • 正文:即代码本身。缩进请用4个空格

  • 结尾:单独一行。还是三个点符

遇到几个读者都是因为书写的问题,找了一个上午的Bug,痛不欲生...

如果以上步骤还没解决你的问题,不妨暂时跳过这一部分,不影响后面的学习。

自定义样式

此节 2019/6/1 新增

很多读者注意到博主的Markdown文章样式似乎比pygments生成的样式要漂亮一些。

确实是这样的。pygments提供的样式比较基础,满足不了各位大佬千奇百怪的需求,因此需要对文章样式进行深度定制。

定制的方法很多。首先你应该注意到了,pygments生成的其实就是普通的css文件而已,源码也不复杂,会一点点css基础就能看懂。你完全可以自由的改动源码,变换颜色、字间距、给代码块加圆角、增加图片阴影,都随便你。

另一个经常被读者问到的是,pygments的表格样式太难看了,自己从零定制表格样式又太麻烦,怎么办?博主的处理办法偷了个懒,在页面中用Jquery动态加载了Bootstrap的表格样式,就像这样:

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

<script>
    $('div#article_body table').addClass('table table-bordered');
    $('div#article_body thead').addClass('thead-light');
</script>

很方便就得到漂亮的表格。

注意这里只是示例,照搬代码可能会有错误。Jquery后面才会讲到,读者不懂的可先查阅一点基础知识。

总结

本章引进了Markdown语法以及代码高亮扩展,从此可以写排版漂亮的文章正文了。

下一章将学习如何创建一篇新的文章。




本文作者: 杜赛
发布时间: 2018年09月17日 - 22:17
最后更新: 2019年06月02日 - 10:08
知识共享许可协议   转载请保留原文链接及作者


登录 后回复

共有78条评论

avatar
Python 么么哒! 3

很好,对于初学者很友好,感谢!

9个月前 回复


avatar
杜赛 [博主] Python 么么哒! 3

9个月前 回复


avatar
yenava 么么哒! 3

教程真的很详细,非常感谢博主!!

在实践markdown这篇教程的时,遇到如下问题:

最开始没有注释markdown.extensions.extra和markdown.extensions.codehilite,代码块背景有变成黑色,但是没有语法高亮,

注释后没有代码块显示,再取消注释就出现了语法高亮。

8个月前 回复


avatar
杜赛 [博主] yenava 么么哒! 3

不客气。

由于没有看到您的实际代码和报错信息,我也说不好是哪里出了问题。有可能单纯只是因为浏览器缓存造成的。

现在已经功能正常了吗?把浏览器缓存清空,如果一切正常就不用管了。

如果实在搞不定就把整个项目用Email发给我看看吧。代码高亮有可能出问题的地方比较多,三言两语也说不清楚,不如就我帮你排错了。

8个月前 回复


avatar
yenava 杜赛 [博主] 么么哒! 3

正常了,应该是缓存问题

8个月前 回复


avatar
pidada yenava 么么哒! 3

你好!!我现在遇到了和你相同的问题,请问下你是解决的?我的源码好像不对的

5个月前 回复


avatar
杜赛 [博主] pidada 么么哒! 3

层主清除浏览器缓存就好了

5个月前 回复


avatar
wangfanazz 么么哒! 3

博主,对于初学的人很给力,很详细,非常感谢你的付出。

7个月前 回复


avatar
杜赛 [博主] wangfanazz 么么哒! 3

读者的反馈就是我写下去的动力heart

7个月前 回复


avatar
ax3353 杜赛 [博主] 么么哒! 3

写得太好了,对于初学者来说太有用了

6个月前 回复


avatar
杜赛 [博主] ax3353 么么哒! 3

6个月前 回复


avatar
KakuCicada 么么哒! 4

博主你好,我现在按照教程编写的,在引入markdown之后,列表和表格等都已经成功渲染   但是代码段一直出不来

以下是代码段具体的源码

​```python
def article_detail(request, id):
    article = ArticlePost.objects.get(id=id)
    # 将markdown语法渲染成html样式
    article.body = markdown.markdown(article.body,
        extensions=[
        # 包含 缩写、表格等常用扩展
        'markdown.extensions.extra',
        # 语法高亮扩展
        'markdown.extensions.codehilite',
        ])
    context = { 'article': article }
    return render(request, 'article/detail.html', context)
```

页面截图为https://i.vgy.me/yxtsso.png

查看页面源码。代码块已经被<code>标签包含

6个月前 回复


avatar
杜赛 [博主] KakuCicada 么么哒! 3

清楚浏览器缓存,重启服务器,是否正常?

代码块页面源码里有没有很多<span>标签?

将视图的extensions插件注释掉,页面源码有什么变化?

6个月前 回复


avatar
micronuths KakuCicada 么么哒! 4

我也遇到这个问题,代码块只是被放到了<code>标签中。
原因:直接复制了博主文章中的示例。
解决办法:
将从博主文章中的示例里粘贴的部分的代码段:```python```用在sublime text 中复制的代码替换就行。如果还是有问题,手动书写```python```。

6个月前 回复


avatar
杜赛 [博主] micronuths 么么哒! 3

感谢解答yes

原来还有这种原因,猜测是换行符的问题?一会儿我在文章中注明一下。

6个月前 回复


avatar
KakuCicada 杜赛 [博主] 么么哒! 3

清除浏览器缓存之后解决,多谢

6个月前 回复


avatar
ac1864 KakuCicada 么么哒! 3

我也遇到同样的问题,请问你是如何解决的。。

5个月前 回复


avatar
ac1864 micronuths 么么哒! 3

英文状态下面自己敲代码块中的全部内容。

5个月前 回复


avatar
杜赛 [博主] ac1864 么么哒! 3

已经解决了吧?

5个月前 回复


avatar
Ctrlsman KakuCicada 么么哒! 3

```python      这个地方应该是大写的P

5个月前 回复


avatar
hehan502 micronuths 么么哒! 3

4个月前 回复


avatar
pokitpeng KakuCicada 么么哒! 3

我也遇到了这个问题,我把代码块复制到vscode把```python```这里手动敲一遍,刷新浏览器缓存就好了

3个月前 回复


avatar
shanyonggang 么么哒! 3
本回复已被 shanyonggang 删除

6个月前 回复


avatar
杜赛 [博主] shanyonggang 么么哒! 3

富文本编辑器不是Markdown编辑器。

教程后面的章节有专门写富文本编辑器的使用方法

6个月前 回复


avatar
shanyonggang 么么哒! 3

博主,您好,我想问下代码和列表都在前端渲染成功了,表格为什么没有成功,另外如果markdown公式的话怎么实现在前端的渲染?

|  guanyu | de   |
| ------------ | ------------ |
|  de  |  degfsdf |
|  sdfsdf | dsdsfsdfs |

这个前端没有显示成表格,只是列出来了!是不是需要下载什么CSS样式?

例如markdown编辑公式  $$\sqrt{x^{2}}$$ 前端应该显示开根号

下面是我views.py中的内容,缓存也清除过了!

def detail(request, pk):
    post = get_object_or_404(models.Post, pk=pk)
    post.increase_views()
    post.content = markdown.markdown(post.content.replace("\r\n", '  \n'),
                                  extensions=[
                                      'markdown.extensions.extra',  # 包含 缩写、表格等常用扩展
                                      'markdown.extensions.codehilite',   # 语法高亮扩展
                                      'markdown.extensions.toc',
                                      'markdown.extensions.tables',
                                      'markdown.extensions.sane_lists',
                                      'markdown.extensions.fenced_code',
                                  ])
    form = CommentForm()
    comment_list = post.comment_set.all()
    context = {
        'post': post,
        'form': form,
        'comment_list': comment_list
    }
    return render(request, 'blog/others/content.html', context=context)

 

6个月前 回复


avatar
杜赛 [博主] shanyonggang 么么哒! 3

是的,markdown库只负责进行html标签的转换,不包含css样式,与代码块是一样的

CSS代码要么自己写,要么下载别人写好的。但其实你用的Bootstrap已经包含表格的样式,借用就行了。

首先给文章正文的容器增加 id 属性:

<div id="article_body">{{ article.body|safe }}</div>

然后用JqueryBootstrap的表格样式添加上去:

<script>
    $('div#article_body table').addClass('table table-bordered');
    $('div#article_body thead').addClass('thead-light');
</script>

这时候控制台可能会报错,找不到Jquery,所以需要把base.html中引入js库的标签全部移到前面去,应该就能正确渲染表格样式了(教程后面章节会解决这个问题)。

6个月前 回复


avatar
shanyonggang 杜赛 [博主] 么么哒! 3

谢谢博主的解答,已经解决这个问题了,还有个问题需要再问下,就是如何实现页面的复制,我的博客里不能实现对文章内容的复制,需要添加什么么?

6个月前 回复


avatar
杜赛 [博主] shanyonggang 么么哒! 3

什么叫“对文章内容的复制”?

6个月前 回复


avatar
ac1864 么么哒! 3

代码块中的内容,直接copy好像显示会出问题。

如果自己在英文状态下输入,就能完整显示了。

5个月前 回复


avatar
杜赛 [博主] ac1864 么么哒! 3

对,最好自己敲。

5个月前 回复


avatar
台风利齐马 ac1864 么么哒! 3

我也遇到同样问题,想了想,发现

主要原因是"```" 这三个点,

只要把这个搞正确就OK了!

3个月前 回复


avatar
pengshilin 么么哒! 3

教程真的很详细,赞

不过学到这里有个小疑惑:站在用户的角度,肯定不会用markdown 的格式书写。。。

那肯定是后面有解决办法的laugh

5个月前 回复


avatar
杜赛 [博主] pengshilin 么么哒! 3

后面有讲富文本编辑器,就是我的博客用的这个

5个月前 回复


avatar
南霁姑娘 杜赛 [博主] 么么哒! 4

所以博主你这里是,你自己发表文章用markdown语法,用户评论使用富文本编辑器对吧

2个月前 回复


avatar
杜赛 [博主] 南霁姑娘 么么哒! 3

2个月前 回复


avatar
ac1864 么么哒! 3

第二次终于过关。
老大的前端也非常User fiendly

4个月前 回复


avatar
杜赛 [博主] ac1864 么么哒! 3

Bootstrap内容不少,够得你学的

4个月前 回复


avatar
sys0613 么么哒! 3

真的要疯了,网上都没人遇到这个错误呢。查了一圈都没找到。Pygments安装成功了,命令一直就是不存在,重启终端也不行。。。额。。我再查查看。。

C:\Users\Administrator.ZX-201606182157>pip install Pygments
Requirement already satisfied: Pygments in c:\users\administrator.zx-201606182157\appdata\roaming\python\python35\site-packages (2.4.2)

C:\Users\Administrator.ZX-201606182157>pygmentize
'pygmentize' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator.ZX-201606182157>Pygmentize
'Pygmentize' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator.ZX-201606182157>
 

4个月前 回复


avatar
sys0613 sys0613 么么哒! 3

使用 pip uninstall Pygments卸载,然后pip install Pygments重新安装,正常工作了。

4个月前 回复


avatar
杜赛 [博主] sys0613 么么哒! 3

安装出了点问题吧。多注意看看报错,感觉像安装问题就重装或者换个版本重装

4个月前 回复


avatar
sys0613 么么哒! 3

感谢博主,请问博主,您博客里的图片是怎么存储的?是用文件夹里面放图片,然后通过Markdown加载的么?谢谢

4个月前 回复


avatar
杜赛 [博主] sys0613 么么哒! 3

对的,Markdown只接收图片的url地址。

小图片我放在自己的服务器上的;大图片放在对象存储云服务器上的。这个就看个人了。

4个月前 回复


avatar
sys0613 杜赛 [博主] 么么哒! 3

收到,非常感谢

4个月前 回复


avatar
杜赛 [博主] sys0613 么么哒! 3

不客气。感谢赞赏,这是对我写作的鼓励laugh

4个月前 回复


avatar
sys0613 么么哒! 3

您好,我用markdown写文章时,带大图片时会超过屏幕范围,我用下面这行,可以和屏幕一样宽。

<img src="/media/classpic/web.jpg"  alt="真棒" align=center />

但是用小图片时候,也会变成屏幕一样宽,就会失真了。

请问有什么办法可以让大图片缩小到满屏显示,小图片显示自身大小。谢谢

4个月前 回复


avatar
杜赛 [博主] sys0613 么么哒! 3

style="max-width: 100%;"

有时间系统的学一下html + css吧

4个月前 回复


avatar
sys0613 杜赛 [博主] 么么哒! 3

你说的对,真得看看了,很多基础的样式都不知道。谢谢了

4个月前 回复


avatar
FrodoBagginsGuoker 么么哒! 3

博主,你的教程非常棒,对我帮助很大。引入codehilite之后,代码有黑框但无法高亮显示,使用ctrl+u查看源码,发现没有被<span>标签包围。

ctrl+u结果如下:

<p><pre class="codehilite"><code class="language-python">article.body=markdown.markdown(article.body,<br> extensions=[<br> #包含缩写,表格等扩展<br> 'markdown.extensions.extra',<br> #语法高亮扩展<br> 'markdown.extensions.codehilite',<br> ])</code></pre></p>
</div>

3个月前 回复


avatar
杜赛 [博主] FrodoBagginsGuoker 么么哒! 3

那就多测试一下视图中的逻辑,适当运用注释

3个月前 回复


avatar
yanchao-zhangzyc 么么哒! 3

调了半天,发现是extension中的markdown写成markdwon了,书写错误还是太坑了。

3个月前 回复


avatar
zhixideyu 么么哒! 3

obj.content = markdown.markdown(
    re.sub(re.compile('<.*?>'), '', obj.content),
    extensions=[
        'markdown.extensions.extra',
        'markdown.extensions.codehilite',
    ]
)

我从数据库中取出文章是带有标签比如<p>xxxx<\p>,我这需要把里面所有标签替换为空才能编成markdown格式,不然的话显示的是原文。我看你这直接就能转换成markdown,请问是不是在哪个地方可以设置一下。

3个月前 回复


avatar
zhixideyu zhixideyu 么么哒! 3

还有一个,我转换之后的markdown总是缺胳膊少腿的。看了很多文章,也没解决。

3个月前 回复


avatar
杜赛 [博主] zhixideyu 么么哒! 3

正常来说是不需要转换的。教程代码拿来直接就可以用了。

3个月前 回复


avatar
CapAllen 么么哒! 3

想请教下如何使用Markdown的Latex拓展啊,网上搜了下找不到-。- 

 

2个月前 回复


avatar
CapAllen CapAllen 么么哒! 3

查到了一个叫Python-markdown-math的第三方API,导入之后,并不能正常显示,但在页面的源代码中可以正常解析,求助求助~感谢感谢~

页面内显示:

源代码:

MathJax.js也可以get成功

2个月前 回复


avatar
CapAllen CapAllen 么么哒! 3

成功了,把包含的js链接更换为

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML' async></script>

就可以了

2个月前 回复


avatar
杜赛 [博主] CapAllen 么么哒! 3

这我就不清楚了,没有用过

2个月前 回复


avatar
杜赛 [博主] CapAllen 么么哒! 3

yes厉害,学习了

2个月前 回复


avatar
angryhen 么么哒! 3

博主请问markdown如何给代码加上行数呀

2个月前 回复


avatar
杜赛 [博主] angryhen 么么哒! 3

有点记不清了,应该是用 pygments 生成 css 的时候加上 linenos=1 的指令,类似这样:

$ pygmentize -f html -O style=colorful,linenos=1 -l python test.py

详细方法见Pygments文档

2个月前 回复


avatar
ttr 么么哒! 3

楼主你好,我使用pip安装markdown是python2.7的无法使用,使用pip3安装markdown,出现NameError: name 'markdowm' is not defined,请问该如何解决?

2个月前 回复


avatar
杜赛 [博主] ttr 么么哒! 3

markdowm?

markdown?

2个月前 回复


avatar
ttr 杜赛 [博主] 么么哒! 3

对,就是markdowm

2个月前 回复


avatar
ttr 杜赛 [博主] 么么哒! 3

我使用的是Python3.6+django2.1.11,开发系统是Ubuntu18.04

2个月前 回复


avatar
ttr 杜赛 [博主] 么么哒! 3

谢谢博主,我已经解决了,应该是代码写的不规范blush

2个月前 回复


avatar
luoluoluol 么么哒! 4

博主,列表不显示怎么办crying 加粗代码高亮都可以,还有在博客主页部分怎么传类似 article.body = markdown.markdown... 

之前传的是articles

# 可以代码高亮、隔行线和加粗,列表和已完成项不能正常显示
```python
    def abc():
        pass
```

**大萨达**

---
- 大萨达
   - 打底衫
   - 大萨达
---

- [x]

- []

 

2个月前 回复


avatar
杜赛 [博主] luoluoluol 么么哒! 3

列表不显示?打开浏览器控制台的 Elements 标签,找到你的列表那一段,检查一下是不是被 <li> <ul> 之类的标签包裹着。如果是,再检查 style 分标签里的列表的样式是不是被别的东西覆盖了。

2个月前 回复


avatar
luoluoluol 杜赛 [博主] 么么哒! 3

我把的layui的css注释掉之后可以显示列表,要怎么解决呢?markdown的样式怎么才能覆盖layui的样式啊?

2个月前 回复


avatar
杜赛 [博主] luoluoluol 么么哒! 3

可以用 Jquery 把 Markdown 的被 LayUI 改掉的样式再改回来。但以后如果又有类似的问题还需要再改。

我博客最初用的 LayUI,时间长了之后发现各种各样的小问题,特别是 css 部分,于是转的 Bootstrap 4。

2个月前 回复


avatar
luoluoluol 杜赛 [博主] 么么哒! 3

那之后的ckeditor有影响嘛?之前有用过ueditor,但是不能配置动态上传图片的路径(应该是我源码有问题……但是自己又不会改……)

2个月前 回复


avatar
杜赛 [博主] luoluoluol 么么哒! 3

这个我就不清楚了,你自己尝试一下吧。

2个月前 回复


avatar
luoluoluol 杜赛 [博主] 么么哒! 3

好的,谢谢博主laugh

2个月前 回复


avatar
7m77s 么么哒! 3

很实用!谢谢

2个月前 回复


avatar
fyzm 么么哒! 2

我想问下,引入markdown这个包,其中markdown的那些api的你是查看的python文档么

1个月前 回复


avatar
杜赛 [博主] fyzm 么么哒! 2

当然要看文档啊,又不是自己写的代码

1个月前 回复


avatar
fyzm 么么哒! 2

奇怪,今天重新开机,发现加载不出来。这是什么问题,时间要好久?css样式有问题?还是什么问题

开发者工具显示这个问题:跨域问题

Provisional headers are shown

1个月前 回复


avatar
杜赛 [博主] fyzm 么么哒! 2

你这样子提问我也没办法知道是啥问题。

跨域问题网上讨论很多,你百度一下 django 跨域 就清楚了

1个月前 回复


avatar
GOODXIONG 么么哒! 3
本回复已被 GOODXIONG 删除

26天前 回复