[python][django学习篇[13]]增加markdown_1

1 进入虚拟环境,安装markdwon  python install markdown

2 修改视图函数detail

def detail(request, pk):
    # get_object_or_404当传入的pk对应的post数据存在时,就会返回post数据否则返回404
    # 需要导入 import markdwon
    post = get_object_or_404(Post, pk=pk)
    post.body = markdown.markdown(post.body,
                                  extensions=[
                                      ‘markdown.extensions.extra‘,
                                      ‘markdown.extensions.codehilite‘,
                                      ‘markdown.extensions.toc‘,
                                  ])
    return render(request, ‘blog/detail.html‘, context={‘post‘: post})

3 进入后台admin,发表一篇mardown格式的文章

      

# liuzhipeng
## nihao
### wenyi love you

4  刷新127.0.0.1:8000,点击文章标题,进入文章详情,发现body显示一堆Html的东西

<h1 id="liuzhipeng">liuzhipeng</h1>< h2 id="nihao">nihao</h2>< h3 id="wenyi-love-you">wenyi love you</h3>

5 添加safe标签

  在detail.html找到 post.body改成post.body|safe

  

  

时间: 2024-11-10 18:39:21

[python][django学习篇[13]]增加markdown_1的相关文章

[python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)

上一篇我们已经完成数据库的设计,但是仅仅是python语言,并没有真正创建了数据库表.翻译成数据库语言,真正创建数据库表由django manage.py来实现,这一过程专业术语:迁移数据库 切换到manage.py所在目录,分别执行命令:python manage.py makemigrations , python manage.py migrate 执行python manage.py makemigrations结果 F:\pythoncode\django\workspace\blog

[python][django学习篇][6]操作数据库

查询(取)数据 >>> Category.objects.all() <QuerySet [<Category: Category object>]> >>> Tag.objects.all() <QuerySet [<Tag: Tag object>]> >>> Post.objects.all() <QuerySet [<Post: Post object>]> >>

[python][django学习篇]后台admin用户编写博客文章

1 如果没有创建超级管理员账号,先要创建python manage.py createsuperuser 2 在admin后台注册模型 from django.contrib import admin from .models import Post, Category, Tag admin.site.register(Post) admin.site.register(Category) admin.site.register(Tag) 3 超级用户登录admin 后台 激活虚拟环境,运行开发

[python][django学习篇][搭建简单的django开发环境]---暂时不搭建mysql

http://zmrenwu.com/post/3/ 1 搭建Python的虚拟环境: 安装virtualenv (前提是已经安装好Python和Pip)      pip install virtualenv 电脑新建目录:D:\software\python_virtual_envs\djanoproject_env 执行命令virtualenv D:\software\python_virtual_envs\djanoproject_env 执行虚拟环境:运行D:\software\pyt

[python][django学习篇][9]设计正在博客视图(3)

需求: 真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表,就像 演示项目 里展示的这样.t https://docs.djangoproject.com/en/1.10/howto/static-files/ 编写博客视图函数 从数据库获取文章的标题,将其作为模板变量传递到模板,所以视图函数 # coding=utf8 from django.shortcuts import render from django.http import HttpResponse f

[python][django学习篇][14]markdown 代码高亮

1 修改detail视图函数,渲染文件的时候,增加codehight拓展 post.body = markdown.markdown(post.body, extensions=[ 'markdown.extensions.extra', 'markdown.extensions.codehilite', 'markdown.extensions.toc', ]) 2 安装Pygments 进入虚拟环境, pip install Pygments 3 修改base.html, 增加代码高亮的样式

[python][django学习篇][10]再次修改博客首页模板

目前我们看到的只是模板中预先填充的一些数据,我们得让它显示从数据库中获取的文章数据.下面来稍微改造一下模板: 删除所有article标签,然后添加以下内容,将从数据库读取到的内容填充到模板变量{{ post_list }} {% for post in post_list %} <article class="post post-{{ post.pk }}"> <header class="entry-header"> <h1 clas

python Django 进阶篇

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 1,基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE 创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver 0.0.0.0 python manage.py

【Python基础学习篇八】Python函数

函数是一段可以重复多次调用的代码,通过输入的参数值,返回需要的结果. 一.函数的定义 函数的定义使用保留字def定义.函数在使用前必须定义,函数的类型即返回值的类型. Python函数定义的格式如下: def 函数名 (参数1[=默认值1],参数2[=默认值2]...): ... return 表达式 函数名可以是字母.数字或下划线组成的字符串,但不能以数字开头.函数的参数放在一对圆括号中,参数的个数可以有一个或多个,参数之间用逗号隔开,这种参数称之为形式参数. 例子: #!/usr/bin/e