首页
学习
活动
专区
圈层
工具
发布

Django 博客使用 Markdown 自动生成文章目录

其过程如下: import markdown from django.shortcuts import render, get_object_or_404 def detail(request, pk...在渲染 Markdown 文本时加入了 toc 拓展后,就可以在文中插入目录了。方法是在书写 Markdown 文本时,在你想生成目录的地方插入 [TOC] 标记即可。...在页面的任何地方插入目录 上述方式的一个局限局限性就是只能通过 [TOC] 标记在文章内容中插入目录。如果我想在页面的其它地方,比如侧边栏插入一个目录该怎么做呢?...方法其实也很简单,只需要稍微改动一下渲染 Markdown 文本内容的方式即可,具体代码就像这样: import markdown from django.shortcuts import render...为了解决这一个问题,我们需要修改一下传给 extentions 的参数,其具体做法如下: import markdown from django.shortcuts import render, get_object_or

4K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python-Django-URL 路由(二)

    Django URL路由的示例 下面是一个简单的Django应用程序的示例,它使用URL路由来处理客户端请求。...在这个示例中,我们将这些视图函数定义在名为views.py的文件中:: from django.shortcuts import render, get_object_or_404, redirect...如果请求方法是GET,视图函数将渲染一个包含创建新文章表单的HTML模板。 第二个视图函数是post_detail,它显示单个博客文章的详细信息。...如果请求方法是GET,视图函数将渲染一个包含编辑现有文章表单的HTML模板。 最后一个视图函数是PostList,它显示所有博客文章的列表,并允许用户创建新的博客文章。...这个视图函数使用Django的通用视图类CreateView来处理创建新文章的表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章的列表的HTML模板。

    1.3K20

    django 入门:通用视图类重构视图

    作者:Kuky_xs 博客:https://www.jianshu.com/p/8cdf099e974f 1 正文 《django入门:环境及项目搭建》 《django入门:数据模型》 《django入门...:视图及模版》 《django入门:Admin管理系统及表单》 终于到最后一部分了,这部分我们将通过 django 自带的通用视图类替换之前写的视图函数,对视图进行重构 2 利用 django 通用视图类创建类视图..., DetailView from django.shortcuts import get_object_or_404 from blog.models import Post # 获取相应模型下的全部数据...类来进行修改 class HomeView(ListView): model = Post # 指定视图模型 template_name = 'blog/home.html' # 指定渲染的模版...paginator.page(paginator.num_pages) # 如果没有数据则返回最后一页列表 return render(request, 'blog/home.html', locals()) 2.通过模版进行渲染

    1.3K20

    评论

    如果通过表单提交的数据存在错误,那么我们把错误信息返回给用户,并在前端重新渲染,并要求用户根据错误信息修正表单中不符合格式的数据,再重新提交。...# 这里我们使用了 Django 提供的一个快捷函数 get_object_or_404, # 这个函数的作用是当获取的文章(Post)存在时,则获取;否则返回 404 页面给用户。...post = get_object_or_404(Post, pk=post_pk) # HTTP 请求有 get 和 post 两种,一般用户通过表单提交数据都是通过 post 请求,...Comment 和Post 是通过 ForeignKey 关联的,回顾一下我们当初获取某个分类 cate 下的全部文章时的代码:Post.objects.filter(category=cate)。...使用 Django 表单的一个好处就是 Django 能帮我们自动渲染表单。

    4.1K60

    支持 Markdown 语法和代码高亮

    views.py import markdown from django.shortcuts import render, get_object_or_404 from .models import...Django 的模板中都会被转义(即显示原始的 HTML 代码,而不是经浏览器渲染后的格式)。...虽然我们在渲染时使用了 codehilite 拓展,但这只是实现代码高亮的第一步,还需要简单的几步才能达到我们的最终目的。...image.png 注意:如果你按照教程中的方法做完后发现代码依然没有高亮,请依次检查以下步骤: 2017.12.21 更新:完成以上步骤后先退出服务器然后重新 runserver,否则看不到高亮效果 确保在渲染文本时添加了...如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。 将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。

    3.1K70

    django 1.8 官方文档翻译: 1-2-3 编写你的第一个Django应用,第3部分

    Django 会通过检查所请求的 URL (确切地说是域名之后的那部分 URL)来匹配一个视图。 平时你上网的时候可能会遇到像 “ME2/Sites/dirmod.asp?...Django 是通过 ‘URLconfs’ 从 URL 获取到视图的。而 URLconf 是将 URL 模式 ( 由正则表达式来描述的 ) 映射到视图的一种配置。...快捷方式: render() 这是一个非常常见的习惯用语,用于加载模板,填充上下文并返回一个含有模板渲染结果的 HttpResponse 对象。 Django 提供了一种快捷方式。...快捷方式: get_object_or_404() 这很常见,当你使用 get() 获取对象时 对象却不存在时就会抛出 Http404 异常。对此 Django 提供了一个快捷操作。...同样,你在模板根目录下创建一个 500.html 模板并且添加些像“出错了”的内容。

    2.8K50

    关于“Python”的核心知识点整理大全64

    开发项目时,Django的错误页面向你显示了重要的调试信息,如果将项目 部署到服务器后依然保留这个设置,将给攻击者提供大量可供利用的信息。...在2处,我们将DEBUG设置为False,让Django不在错误发生时显示敏感 信息。...使用方法get_object_or_404() 现在,如果用户手工请求不存在的主题或条目,将导致500错误。Django尝试渲染请求的页 面,但没有足够的信息来完成这项任务,进而引发500错误。...对于这种情形,将其视为404错误更 合适,为此可使用Django快捷函数get_object_or_404()。这个函数尝试从数据库获取请求的对象, 如果这个对象不存在,就引发404异常。...通过解决遇到的每个问题,可让你的技能稳步提高, 最终能够开发可靠而有意义的项目,还能解决别人遇到的问题。

    1.9K10

    django2.0入门教程第三节

    ,最终浏览器将模板数据进行渲染显示,用户就得到了想要的结果 作为一个简易的投票系统, 除了index(主页), 还需要detail(详情页), results(结果页), vote(投票页) 这些视图。...threequestion.png 通过视图直接返回的数据,显示格式很单一,要想显示丰富的数据形式,就需要引用模板,用独立的模板文件来呈现内容。...新增详情页:polls/templates/polls/detail.html {{ question }} http://127.0.0.1:8000/polls/3/ 问题3 访问不存在的问题id时,...404.png 404页面抛出的便捷写法:get_object_or_404() polls/views.py from django.shortcuts import render, get_object_or..._404 from .models import Question # ... def detail(request, question_id): question = get_object_or

    85230

    第 10 篇:小细节 Markdown 文章自动生成目录,提升阅读体验

    在渲染 Markdown 文本时加入了 toc 拓展后,就可以在文中插入目录了。方法是在书写 Markdown 文本时,在你想生成目录的地方插入 [TOC] 标记即可。...在页面的任何地方插入目录 上述方式的一个局限性就是只能通过 [TOC] 标记在文章内容中插入目录。如果我想在页面的其它地方,比如侧边栏插入一个目录该怎么做呢?...接下来就在博客文章详情页的文章目录侧边栏渲染文章的目录吧!...会对模板中的 HTML 代码进行转义,所以要使用 safe 标签防止 django 对其转义。...其最终渲染后的效果就是: 处理空目录 现在目录已经可以完美生成了,不过还有一个异常情况,当文章没有任何标题元素时,Markdown 就提取不出目录结构,post.toc 就是一个空的 div 标签,如下

    1.7K40

    Django 1.10中文文档-第一个应用Part3-视图和模板

    Django通过对比请求的URL地址来选择对应的视图。 在你平时的网页上,你可能经常会碰到类似“ME2/Sites/dirmod.asp?...Django将在这里查找模板。 项目的settings.py中的templates配置决定了Django如何加载渲染模板。将APP_DIRS设置为True。...我们需要能够将Django指向正确的一个,确保这一点的最简单的方法是通过命名空间。也就是说,将这些模板放在为应用程序本身命名的另一个目录中。...快捷方式:render() 常见的习惯是载入一个模板、填充一个context 然后返回一个含有模板渲染结果的HttpResponse对象。Django为此提供一个快捷方式。...当使用模板标签{% url %}时,人们该如何做才能使得Django知道为一个URL创建哪个应用的视图? 答案是在你的主URLconf下添加命名空间。

    3.2K60

    Django Response对象3.4

    表示在指定秒数后过期 expires是一个datetime或timedelta对象,会话将在这个指定的日期/时间过期,注意datetime和timedelta值只有在使用PickleSerializer时才可序列化...JsonResponse({'list': 'abc'}) 简写函数 render render(request, template_name[, context]) 结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的...HttpResponse对象 request:该request用于生成response template_name:要使用的模板的完整名称 context:添加到模板上下文的一个字典,视图将在渲染模板之前调用它...(reverse('booktest:index2')) 得到对象或返回404 get_object_or_404(klass, args, *kwargs) 通过模型管理器或查询集调用get()方法,...import * def detail(request, id): try: book = get_object_or_404(BookInfo, pk=id) except

    1.2K20

    在 Django 表单中传递自定义表单值到视图

    在Django中,我们可以通过表单的初始化参数initial来传递自定义的初始值给表单字段。如果我们想要在视图中设置表单的初始值,可以在视图中创建表单的实例时,传递一个字典给initial参数。...1、问题背景我们遇到了这样一个问题:在使用 Django 表单时,我们希望将自定义表单中的值传递到视图中。然而,我们发现无法为多选选项的每个选项传递值。...在渲染表单时,只有一个字符字段,而多选框中有多个选择。我们想知道是否有办法解决这个问题,以及表单集是否可以在这里提供帮助。我们对 Django 还很陌生,因此希望得到一些解释,以便更好地理解和学习。...outcomevalue'] = forms.CharField(widget=forms.TextInput(attrs={'size': '30'}))​# views.pystateoption = get_object_or...StateOptionOutcomeFormSet = forms.formset_factory(StateOptionOutcomeForm, extra=1)​# views.pystateoption = get_object_or

    2.7K10

    Django中与时区相关的安全问题

    Django在时区这个问题上下了不少功夫,但是很多资深的开发者都有可能尚未完全屡清楚Django中各种时间的实际意义和使用方法,导致写出错误的代码;作为安全研究人员,时区问题也可能和一些安全问题挂钩,比如优惠券的过期时间...比如,我的网站几乎全部是中国用户,那么展示时使用的时区应该是Asia/Shanghai。 这一部分的转换,Django放在的模板引擎中。...Django在渲染模板变量时,将会遇到两种与时间有关的情况: origin value: {{ object.now_time }} date filter: {{ object.now_time...| date:'Y-m-d H:i:s' }} 前者是直接将时间渲染到页面中,后者是通过date这样的模板filter处理后渲染在页面中。...在流行的前后端分离架构中,后端服务器通常只提供JSON格式的接口给前端,那么,我们编写下面这样一个view,看看返回值是什么: from django.shortcuts import get_object_or

    3K21

    Django来敲门~第一部分【6.2 HTML视图模板】

    使用html网页进行视图开发 注意:通常情况下,我们会将要使用的html网页,保存在应用的templates/文件夹下,因为django在视图处理函数中,通过loader.get_template...最后需要通过HttpResonse函数进行渲染才能给浏览器查看到。...Django为了方便我们进行HTML网页视图模板的处理,提供了一个快捷进行网页模板渲染的方式:render() 上干货:修改上面的index函数中的视图处理的代码: from django.shortcuts...有就返回数据,没有就返回404,针对两种结果,django封装了一个好玩的函数来进行处理 # 获取对象,如果对象不存在就抛出404异常 get_object_or_404() 我们改造一下detail视图处理函数...# 引入需要的模块 from django.shortcuts import render, get_object_or_404 # 改造函数 def detail(request, question_id

    1.3K20
    领券