<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Django on 测试开发刚哥</title>
    <link>https://dongfanger.github.io/tags/django/</link>
    <description>Recent content in Django on 测试开发刚哥</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://dongfanger.github.io/tags/django/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DRF终极封装ViewSet和Router附教程PDF源码</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000012-djangodrf%E7%BB%88%E6%9E%81%E5%B0%81%E8%A3%85viewset%E5%92%8Crouter%E9%99%84%E6%95%99%E7%A8%8Bpdf%E6%BA%90%E7%A0%81/</link>
      <pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000012-djangodrf%E7%BB%88%E6%9E%81%E5%B0%81%E8%A3%85viewset%E5%92%8Crouter%E9%99%84%E6%95%99%E7%A8%8Bpdf%E6%BA%90%E7%A0%81/</guid>
      <description>在DRF官方教程的学习过程中，一个很明显的感受是框架在不断地进行封装，我们自己写框架/工具/脚本/平台也可以模仿模仿，先完成底层代码，再做多层封装，让使用者很容易就上手操作。本文是教程的最后一篇，介绍ViewSets和Routers。</description>
    </item>
    <item>
      <title>DRF使用超链接API实现真正RESTful</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000011-djangodrf%E4%BD%BF%E7%94%A8%E8%B6%85%E9%93%BE%E6%8E%A5api%E5%AE%9E%E7%8E%B0%E7%9C%9F%E6%AD%A3restful/</link>
      <pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000011-djangodrf%E4%BD%BF%E7%94%A8%E8%B6%85%E9%93%BE%E6%8E%A5api%E5%AE%9E%E7%8E%B0%E7%9C%9F%E6%AD%A3restful/</guid>
      <description>很多API并不是真正的实现了RESTful，而应该叫做RPC (Remote Procedure Call 远程过程调用)，Roy Fielding曾经提到了它们的区别，原文如下：</description>
    </item>
    <item>
      <title>DRF比Django的认证和权限高在哪里</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000010-djangodrf%E6%AF%94django%E7%9A%84%E8%AE%A4%E8%AF%81%E5%92%8C%E6%9D%83%E9%99%90%E9%AB%98%E5%9C%A8%E5%93%AA%E9%87%8C/</link>
      <pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000010-djangodrf%E6%AF%94django%E7%9A%84%E8%AE%A4%E8%AF%81%E5%92%8C%E6%9D%83%E9%99%90%E9%AB%98%E5%9C%A8%E5%93%AA%E9%87%8C/</guid>
      <description>Django可以用&lt;code&gt;LoginRequiredMixin&lt;/code&gt;和&lt;code&gt;PermissionRequiredMixin&lt;/code&gt;给类视图添加认证和权限，DRF做了高级封装，提供了更简洁的实现方式。我们通过继续学习官网教程来进行了解。</description>
    </item>
    <item>
      <title>DRF类视图让你的代码DRY起来</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000009-djangodrf%E7%B1%BB%E8%A7%86%E5%9B%BE%E8%AE%A9%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%A0%81dry%E8%B5%B7%E6%9D%A5/</link>
      <pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000009-djangodrf%E7%B1%BB%E8%A7%86%E5%9B%BE%E8%AE%A9%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%A0%81dry%E8%B5%B7%E6%9D%A5/</guid>
      <description>刚开始写&lt;code&gt;views.py&lt;/code&gt;模块的代码，一般都是用&lt;code&gt;def&lt;/code&gt;定义的函数视图，不过DRF更推荐使用&lt;code&gt;class&lt;/code&gt;定义的类视图，这能让我们的代码更符合DRY（Don&amp;rsquo;t Repeat Yourself）设计原则：</description>
    </item>
    <item>
      <title>DRF对Django请求响应做了技术升级</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000008-djangodrf%E5%AF%B9django%E8%AF%B7%E6%B1%82%E5%93%8D%E5%BA%94%E5%81%9A%E4%BA%86%E6%8A%80%E6%9C%AF%E5%8D%87%E7%BA%A7/</link>
      <pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000008-djangodrf%E5%AF%B9django%E8%AF%B7%E6%B1%82%E5%93%8D%E5%BA%94%E5%81%9A%E4%BA%86%E6%8A%80%E6%9C%AF%E5%8D%87%E7%BA%A7/</guid>
      <description>Django视图是用来处理请求和响应的，Django默认是按Form和Template来设计的，如果要处理以JSON格式为主的RESTful API，那么就需要对Django请求和响应的处理代码进行优化改造，本文就来介绍DRF在这一部分的技术升级。</description>
    </item>
    <item>
      <title>揭开DRF序列化技术的神秘面纱</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000007-django%E6%8F%AD%E5%BC%80drf%E5%BA%8F%E5%88%97%E5%8C%96%E6%8A%80%E6%9C%AF%E7%9A%84%E7%A5%9E%E7%A7%98%E9%9D%A2%E7%BA%B1/</link>
      <pubDate>Wed, 07 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000007-django%E6%8F%AD%E5%BC%80drf%E5%BA%8F%E5%88%97%E5%8C%96%E6%8A%80%E6%9C%AF%E7%9A%84%E7%A5%9E%E7%A7%98%E9%9D%A2%E7%BA%B1/</guid>
      <description>在RESTful API中，接口返回的是JSON，JSON的内容对应的是数据库中的数据，DRF是通过序列化（Serialization）的技术，把数据模型转换为JSON的，反之，叫做反序列化（deserialization）。本文就来揭开2揭开DRF序列化技术的神秘面纱技术的神秘面纱。</description>
    </item>
    <item>
      <title>快用DjangoRESTframework写写API吧</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000006-django%E5%BF%AB%E7%94%A8djangorestframework%E5%86%99%E5%86%99api%E5%90%A7/</link>
      <pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000006-django%E5%BF%AB%E7%94%A8djangorestframework%E5%86%99%E5%86%99api%E5%90%A7/</guid>
      <description>Django默认是前后端绑定的，提供了Template和Form，现在流行前后端分离项目，Python大佬坐不住了，于是便有了Django REST framework：https://github.com/tomchristie</description>
    </item>
    <item>
      <title>自定义Django认证系统的技术方案</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000005-django%E8%87%AA%E5%AE%9A%E4%B9%89django%E8%AE%A4%E8%AF%81%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%8A%80%E6%9C%AF%E6%96%B9%E6%A1%88/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000005-django%E8%87%AA%E5%AE%9A%E4%B9%89django%E8%AE%A4%E8%AF%81%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%8A%80%E6%9C%AF%E6%96%B9%E6%A1%88/</guid>
      <description>Django已经提供了开箱即用的认证系统，但是可能并不满足我们的个性化需求。自定义认证系统需要知道哪些地方可以扩展，哪些地方可以替换。本文就来介绍自定义Django认证系统的相关技术细节。</description>
    </item>
    <item>
      <title>Django认证系统并不鸡肋反而很重要</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000004-djangodjango%E8%AE%A4%E8%AF%81%E7%B3%BB%E7%BB%9F%E5%B9%B6%E4%B8%8D%E9%B8%A1%E8%82%8B%E5%8F%8D%E8%80%8C%E5%BE%88%E9%87%8D%E8%A6%81/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000004-djangodjango%E8%AE%A4%E8%AF%81%E7%B3%BB%E7%BB%9F%E5%B9%B6%E4%B8%8D%E9%B8%A1%E8%82%8B%E5%8F%8D%E8%80%8C%E5%BE%88%E9%87%8D%E8%A6%81/</guid>
      <description>在使用&lt;code&gt;django-admin startproject&lt;/code&gt;创建项目后，Django就默认安装了一个采用session实现的认证系统。这是Django相比于其他框架的一大特点：自带认证系统，开箱即用。有人说它方便，有人说它鸡肋，但它作为Django的重要组成部分，学习它有助于我们理解Django框架的核心技术。</description>
    </item>
    <item>
      <title>Django官方为什么没有标准项目结构</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000003-djangodjango%E5%AE%98%E6%96%B9%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%9C%89%E6%A0%87%E5%87%86%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000003-djangodjango%E5%AE%98%E6%96%B9%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%9C%89%E6%A0%87%E5%87%86%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84/</guid>
      <description>Django官方并没有提供标准的项目结构，于是网上众说纷纭，百花齐放，一千个读者有一千个哈姆雷特。那我们该怎么设计项目结构呢？在回答这个问题之前，先了解一下Django原生的目录和文件都是干嘛的。</description>
    </item>
    <item>
      <title>Django搭建示例项目实战与避坑细节</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000002-djangodjango%E6%90%AD%E5%BB%BA%E7%A4%BA%E4%BE%8B%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%E4%B8%8E%E9%81%BF%E5%9D%91%E7%BB%86%E8%8A%82/</link>
      <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000002-djangodjango%E6%90%AD%E5%BB%BA%E7%A4%BA%E4%BE%8B%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%E4%B8%8E%E9%81%BF%E5%9D%91%E7%BB%86%E8%8A%82/</guid>
      <description>Django 开发项目是很快的，有多快？看完本篇文章，你就知道了。</description>
    </item>
    <item>
      <title>Django匆匆一眼却解答了多年疑惑</title>
      <link>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000001-djangodjango%E5%8C%86%E5%8C%86%E4%B8%80%E7%9C%BC%E5%8D%B4%E8%A7%A3%E7%AD%94%E4%BA%86%E5%A4%9A%E5%B9%B4%E7%96%91%E6%83%91/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/python%E7%94%9F%E6%80%81/django/000001-djangodjango%E5%8C%86%E5%8C%86%E4%B8%80%E7%9C%BC%E5%8D%B4%E8%A7%A3%E7%AD%94%E4%BA%86%E5%A4%9A%E5%B9%B4%E7%96%91%E6%83%91/</guid>
      <description>Django 是 Python 的 一款 Web 开发框架，另外还有 Tornado，Flask，Twisted。为什么我要选择学 Django？原因很简单，上家公司来了个网易的测开，就是用 Django 开发的测试平台。</description>
    </item>
  </channel>
</rss>
