我试图在我当前的项目中实现django rest框架。api引擎在没有安全性的情况下工作。我尝试按照django rest框架的身份验证页面中给出的步骤添加身份验证。
当我将以下部分添加到settings.py时,没有收到任何错误:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
]
}
但当我将“rest\u framework.authtoken”添加到已安装的\u应用程序并运行服务器时,
我得到以下信息:
您有2个未应用的迁移。您的项目可能无法正常工作,直到您为应用程序应用迁移:authtoken。运行“python manage.py migrate”以应用它们。
然后我试着跑步:
python manage.py migrate
我得到以下错误:
(雷维夫)username@username-VirtualBox:~/Servers/Repositories/raiotic venv/raiotic$python manage.py要执行的迁移操作:应用所有迁移:MainApp、admin、auth、authtoken、ContentType、运行迁移的会话:应用authtoken.0001_初始…回溯(最后一次调用):文件“/home/username/venv/lib/python3.6/site packages/django/db/backends/utils.py”,执行返回数据库.cursor.execute(sql)文件“/home/username/venv/lib/python3.6/site packages/django/db/backends/sqlite3/base.py”第381行,执行返回数据库.cursor.execute(sel,查询)sqlite3.ERROR:尝试写入只读数据库
上述例外是以下例外的直接原因:
回溯(最近一次调用):文件“manage.py”,第 21 行,在 main() 文件“manage.py”,第 17 行,在主 execute_from_command_line(sys.argv) 文件“/home/username/venv/lib /python3.6/site-packages/django/core/management/init.py”,第 381 行,在 execute_from_command_line 实用程序.execute() 文件“/home/username/venv/lib/python3.6/site-packages/django /core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/username/venv/lib/python3.6/site-packages/django/core /management/base.py", line 323, in run_from_argv self.execute(*args, **cmd_options) File "/home/username/venv/lib/python3.6/site-packages/django/core/management/base .py", line 364, in execute output = self.handle(*args, **options) File "/home/username/venv/lib/python3.6/site-packages/django/core/management/base.py “,第 83 行,在包装的 res = handle_func(*args, **kwargs) 文件中“/home/username/venv/lib/python3.6/site-packages/django/core/management/commands/migrate.py”,第 234 行,在处理 fake_initial=fake_initial,文件“/home/username/venv/lib/python3.6/site-packages/django/db/migrations/executor.py”,第 117 行,处于迁移状态 = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) 文件“/home/username/venv/lib/python3.6/site-packages/django/db/migrations/executor.py”,第 147 行,_migrate_all_forwards 状态 = self.apply_migration (状态,迁移,fake=fake,fake_initial=fake_initial)文件“/home/username/venv/lib/python3.6/site-packages/django/db/migrations/executor.py”,第245行,在apply_migration状态= migration.apply(state, schema_editor) 文件“/home/username/venv/lib/python3.6/site-packages/django/db/migrations/migration.py”,第 124 行,在 apply operation.database_forwards(self.app_label , schema_editor, old_state, project_state) 文件 "/home/username/venv/lib/python3.6/site-packages/django/db/migrations/operations/models.py", line 92, in database_forwards schema_editor.create_model(model)文件“/home/用户名/venv/lib /python3.6/site-packages/django/db/backends/base/schema.py", line 307, in create_model self.execute(sql, params or None) File "/home/username/venv/lib/python3. 6/site-packages/django/db/backends/base/schema.py”,第 137 行,在执行 cursor.execute(sql, params) 文件“/home/username/venv/lib/python3.6/site-packages”中/django/db/backends/utils.py", line 99, in execute return super().execute(sql, params) File "/home/username/venv/lib/python3.6/site-packages/django/db /backends/utils.py", line 67, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/home/username/venv/lib/python3.6/site-packages /django/db/backends/utils.py", line 76, in _execute_with_wrappers return executor(sql, params, many, context) File "/home/username/venvlib/python3.6/site-packages/django/db/backends /utils.py”,第 84 行,在 _execute 中返回 self.cursor.execute(sql, params) 文件“/home/username/venvlib/python3.6/site-packages/django/db/utils.py”,第 89 行, 在退出时提高 dj_exc_v alue.with_traceback(traceback) from exc_value File "/home/username/venvlib/python3.6/site-packages/django/db/backends/utils.py", line 82, in _execute return self.cursor.execute(sql)文件“/home/username/venvlib/python3.6/site-packages/django/db/backends/sqlite3/base.py”,第 381 行,在执行中返回 Database.Cursor.execute(self, query) django.db。 utils.OperationalError:尝试编写只读数据库
请尝试更改对db.sqlite3文件的权限。您正在运行的用户可能没有写入该文件的权限,因此该模式为只读。
做
ls -al db.sqlite3
chmod a+w db.sqlite3
python manage.py migrate
我想我会在这里问这个问题,因为我不太确定我会错在哪里。我正在尝试使用Django Rest框架类通过AJAX执行POST请求。但是,每当事件触发时,我都会收到以下错误: 这是堆栈跟踪中显示的内容: 上下文 我试图做到这一点,当用户单击“添加到列表”按钮时,它会向用户定义的列表发送一个cafeName(以及最终的其他详细信息)。 我想知道是否有人可以看看我的代码,并给我一些指导,我哪里出了问题? 代
是一个通用数据库处理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意实现接口就可以).很便捷地进行常用数据库操作(增删改查).其性能是几近纯ADO.NET.对于实体的查询采用emit实 现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式.其主要特色就是性能和便捷的操作.
当我要求一个图像http://127.0.0.1:8000/api/images/1/或者传入参数进行裁剪http://127.0.0.1:8000/api/images/1/?height=320 我得到的答复是: 而在http://127.0.0.1:8000/api/images/ 答复是: 为什么缩略图不容易返回主机名,我如何将基本网址追加到响应中? 以下是我的看法。派克
数据库是整个站点的数据储藏室。用户提交的数据可以存储在数据库中,以便未来使用。Play可以通过JDBC和数据库通信。我讲介绍Play和mysql数据库的连接。 Play 2.*版本的默认操作数据库的方式是通过Ebean。Play提供Finder这一帮助类型,可以实现一些简单的数据库查询。 数据库准备 在mysql中增加数据库testing。增加用户"player",密码为"player"。为用户p
问题内容: 我正在使用Play!框架2.0,我陷入了涉及数据库的烦人问题。 假设我有一个(延伸它有几个属性)类(,,,等)。 在某个时候,我想添加一个新属性,可以说(它到底是什么并不重要)。因此,我将属性添加到类中,进行编译和运行。 问题是:我收到有关数据库更改的红色警报(很明显),它要求我按 “ APPLIC CHANGES” (如果我没记错的话)。很好,但是! 所有数据库记录都被删除 ! 结论
问题内容: 我正在实现一个JAX-WS Web服务,它将由外部Java和PHP客户端使用。 客户端必须使用每个客户端存储在数据库中的用户名和密码进行身份验证。 最好使用哪种身份验证机制来确保杂项客户端可以使用它? 问题答案: 基本WS- Security可以与插入JAAS的Java和PHP客户端(以及其他客户端)一起使用,以提供数据库后端。如何实现这种依赖于您的容器。使用@RolesAllowed