如何在Django REST框架中注册用户?

2023-12-03

我正在编写 REST APIDjango REST 框架。该 API 将成为社交移动应用程序的后端。遵循教程后,我可以序列化所有模型,并且能够创建新资源并更新它们。

我正在使用 AuthToken 进行身份验证。

我的问题是:

一旦我有了/users资源,我希望应用程序用户能够注册。那么,拥有像这样的单独资源更好吗?/register或允许匿名用户发布到/users新资源?

此外,一些有关权限的指导也会很棒。


Django REST 框架 3allow覆盖create序列化器中的方法:

from rest_framework import serializers
from django.contrib.auth import get_user_model # If used custom user model

UserModel = get_user_model()


class UserSerializer(serializers.ModelSerializer):

    password = serializers.CharField(write_only=True)

    def create(self, validated_data):

        user = UserModel.objects.create_user(
            username=validated_data['username'],
            password=validated_data['password'],
        )

        return user

    class Meta:
        model = UserModel
        # Tuple of serialized model fields (see link [2])
        fields = ( "id", "username", "password", )

继承自的类的序列化字段ModelSerializer必须在专利中声明Meta对于 Django Rest 框架v3.5和最新的。

File api.py:

from rest_framework import permissions
from rest_framework.generics import CreateAPIView
from django.contrib.auth import get_user_model # If used custom user model

from .serializers import UserSerializer


class CreateUserView(CreateAPIView):

    model = get_user_model()
    permission_classes = [
        permissions.AllowAny # Or anon users can't register
    ]
    serializer_class = UserSerializer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Django REST框架中注册用户? 的相关文章

随机推荐

  • 为什么 numpy std() 给出的结果与 matlab std() 不同?

    我尝试将 matlab 代码转换为 numpy 并发现 numpy 与 std 函数有不同的结果 在Matlab中 std 1 3 4 6 ans 2 0817 in numpy np std 1 3 4 6 1 8027756377319
  • SQL 状态:42601 在“11”处或附近出现语法错误

    我有一张桌子address all并且它被多个地址表继承 address history继承自父表history all并保留当前地址信息 我正在创建继承的新表address all表并从中复制信息address history到新表 我的
  • 在 Neovim 中运行的 Bash 脚本忽略“读取”命令 [重复]

    这个问题在这里已经有答案了 考虑以下 Bash 脚本 usr bin env bash read rp gt INPUT echo Your input is INPUT echo Done 当我在常规 Vim 中打开这个文件并运行 bas
  • 如何在被覆盖的输入框获得焦点时向下滚动页面?

    看一眼这一页 我有一个带有较低 浮动 固定位置 div 的页面 它覆盖了屏幕底部的某些部分 具有高 z 索引和一堆输入框 问题是 当下面的输入框之一被聚焦时 通过按 TAB 键 它们的内容会被 div 部分隐藏 我想检测下部输入框何时获得焦
  • C# WinForms BindingList 和 DataGridView - 不允许编辑会阻止创建新行?我该如何解决这个问题?

    关于我将 DataGridView 与 BindingList 一起使用 我将禁用编辑当前行 但允许添加新行 我遇到的问题是 当我禁止编辑时 这似乎阻止了添加新行项目 因为当您将表格放入该新行的单元格时 它似乎不允许编辑 知道如何解决这个问
  • 计算字符串中元音的简单方法?

    如果我定义一个简单的字符串变量 我将如何以最简单的方式计算并输出字符串中的元音数量 我搜索并发现了许多类似的方法来做到这一点 但大多数似乎比必要的更复杂 它们都很实用 也许复杂性是必要的 但我正在寻找尽可能简单的解决方案 我的字符串变量类似
  • 输出中的括号和引号

    有时 当我使用打印功能时 输出中会出现括号和引号 我正在使用 Python 3 4 并在 Mac 上的 Sublime Text 中编写代码 这是一个例子 Input a 2 print a a Output a 2 我只想显示 a 和 2
  • java求二维数组之和

    我正在开发一个项目 我必须读取文件并将内容输入到二维数组中 然后我必须对矩阵的每一行 每一列和周长求和 到目前为止 除了外围之外 一切都正常 我试图为顶行 底行和两个外列的中间创建单独的 for 循环 矩阵文件如下所示 1 2 3 4 2
  • 在运行时更改嵌入的资源文件

    我编写了一个程序 该程序使用资源 嵌入的文本文件 作为程序的默认配置 我希望能够允许用户更改此默认行为 我想知道如何修改嵌入式资源文件 以便下次使用程序时它将使用修改后的版本 感谢您的帮助 我认为你正在寻找的是settings文件 嵌入的资
  • D3.js 中节点上的偏力

    我想分别向节点的几个子部分施加多个力 forceX 和forceY 为了更具说明性 我将此 JSON 作为我的节点的数据 word expression theme Th me 6 radius 3 word th orie theme T
  • Flash Builder“无法连接”错误

    我正在尝试使用 Flash Builder 4 调试 Flash Web 应用程序 但是 我不断收到此错误 无法连接 无法连接到 用于获取配置文件数据的应用程序 请尝试分析应用程序 再次 我将 Internet Explorer 8 Int
  • 将对象序列化为 XML 时以不同方式表示 Null 值

    我使用以下代码将对象序列化为 XML using System IO using System Xml Serialization namespace ConsoleApplication2 class Program static voi
  • 将注释语法添加到 C++ 源代码

    我想在我的 C 源代码中创建我自己的自定义注释 就像 Java 样式注释 标签 由于标准 C 语法不允许注释 因此我想根据自己的需要修改 增强编译器 但是 Visual Studio 是否公开其编译器内部结构供用户修改 例如其词法分析器的输
  • Maven“构建路径指定执行环境J2SE-1.5”,即使我将其更改为1.7

    在 Eclipse Juno 中 我安装了最新的 m2e 插件 1 2 20120903 1050 在首选项中 我在Java gt Installed JREs gt Add中添加了jdk1 7 0 11 然后指定了位置 C Program
  • 为什么 Firefox 和 Opera 会忽略 display: table-cell 内部的最大宽度?

    以下代码在 Chrome 或 IE 中正确显示 图像宽度为 200 像素 在 Firefox 和 Opera 中max width风格被完全忽略 为什么会发生这种情况 有没有好的解决办法 另外 哪种方式最符合标准 Note 对于这种特殊情况
  • 检查对象中的任何属性是否为零 - Swift 3

    我正在使用 Swift 3 想知道是否有任何方法可以检查对象中的所有属性是否都有值 nil Eg class Vehicle var name String var model String var VIN String let objCa
  • “无法实例化名为 UITableViewCellContentView 的类”iPhone 3.1.2

    我已经为自定义 UITableView 单元创建了一个笔尖 并按照文档和不同的教程来解决此错误 并且它不会停止 我研究了这个错误 人们说这是当你 import 标头但没有添加框架时发生的 好吧 UIKit 是自动添加的 我删除并再次添加它以
  • 呈现图像裁剪界面

    我正在尝试设计一个用于在 iPhone 操作系统中裁剪图像的 UI 并怀疑我正在以困难的方式处理事情 我的目标与 Tapbots 二人组使用 Pastebot 所做的差不多 在该应用程序中 它们使源图像变暗 但提供可移动且可调整大小的裁剪视
  • 为什么 Dispatcher.BeginInvoke 会为 ThreadStart 解包 TargetInitationException 而不是为 Action 解包?

    考虑以下两个应用 1 public partial class MainWindow Window public MainWindow InitializeComponent this Dispatcher UnhandledExcepti
  • 如何在Django REST框架中注册用户?

    我正在编写 REST APIDjango REST 框架 该 API 将成为社交移动应用程序的后端 遵循教程后 我可以序列化所有模型 并且能够创建新资源并更新它们 我正在使用 AuthToken 进行身份验证 我的问题是 一旦我有了 use