django设置

Django设置

apps

在项目根目录下创建apps目录,把app都放在apps文件夹下

image-20221012215758162

1
2
3
# 新建apps目录
cd apps
python ../manage.py startapp users

apps目录添加进系统路径中

settings.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# 添加导包路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",

# apps for this project
"users.apps.UsersConfig",
]

由于apps已进入系统目录,故"users.apps.UsersConfig",无需写前面的apps文件夹名

migrations

报错

出现了 如下报错

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001
_initial on database ‘default’.

  • 根据报错的信息,删除数据库中,该表的数据。

image-20221011172831519

  • 鼠标右键点击删除
image-20221011172932906
  • 提交,保存修改到数据库中
image-20221011173040345
  • 重新进行迁移,但是依然失败了image-20221011173333682

  • 根据报错信息,将表 django_admin_log删除

  • 继续报错,继续删表

    image-20221013130807591

  • 把数据库中的很多表删除后,重新迁移

若还遇到其他迁移失败的报错,可以尝试如下操作:

  1. 删除数据库记录该model的记录

image-20221013161725041

  1. 删除记录迁移的文件,接着重新迁移;

image-20221013161452474

密码正确登录不上

修改管理员密码后,发现还是登录不上,我是按如下方式处理的

  • 删除了数据库的所有表,除了sqlite_开头的两个表

image-20221013183956861

  • 清理记录迁移的文件

    image-20221013161452474

跨域

前后端在不同的域名下,需要解决跨域问题

Simple JWT

djangorestframework-jwt库,在17年已不再维护,推荐使用

CORS

提交token时,被Django的CORS给拦截了

pip install django-cors-headers

Django项目关于跨域cors及解决方案(配置项)

Postman

这篇文章 关于 postman给 jwt 传递参数写的比较细

我发现使用 postman,不会涉及到CORS,以及跨域访问的问题;即使没有在Django 的 setting.py中进行任何的设置,Postman也是可以使用

使用Postman编辑传递的参数,使用网页端的postman失败了

image-20221013220548895

下载了桌面版的Postman传参,成功

1
2
3
4
{
"refresh": "xxx",
"access": "xxx"
}

使用access作为token,提交给服务器

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022 Jie Shen
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信