django
python django3 跨域问题解决
python • 李魔佛 发表了文章 • 0 个评论 • 212 次浏览 • 2024-11-22 11:53
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0不然大概率是装不上的。
然后在setting里面配置这个
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
然后就OK了。
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了 查看全部
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10不然大概率是装不上的。
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0
然后在setting里面配置这个
然后就OK了。
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了
Django mysql SSL 证书配置
数据库 • 马化云 发表了文章 • 0 个评论 • 1909 次浏览 • 2022-10-13 15:35
具体配置如下:
ca_path = '/etc/ssl/certs/ca-certificates.crt' # 证书地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wordpress',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1`',
'PORT': 3306,
'OPTIONS': {'ssl':{'KEY': ca_path}}
}
} 查看全部
具体配置如下:
ca_path = '/etc/ssl/certs/ca-certificates.crt' # 证书地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wordpress',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1`',
'PORT': 3306,
'OPTIONS': {'ssl':{'KEY': ca_path}}
}
}
Django 版本不兼容报错 AuthenticationMiddleware
数据库 • 李魔佛 发表了文章 • 0 个评论 • 6912 次浏览 • 2019-07-04 15:43
?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
在之前的版本上没有问题,更新后就出错。
降级Django
pip install django=2.1.7
PS: 这个django的版本兼容的确是个大问题,哪天升级了下django版本,不经过严格的测试就带来灾难性的后果。 查看全部
ERRORS:
?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
在之前的版本上没有问题,更新后就出错。
降级Django
pip install django=2.1.7
PS: 这个django的版本兼容的确是个大问题,哪天升级了下django版本,不经过严格的测试就带来灾难性的后果。
版本不兼容会增加学习的成本和挫败感-致ElasticSearch和Django
数据库 • 李魔佛 发表了文章 • 0 个评论 • 3047 次浏览 • 2019-04-27 21:59
看的书或者网上的教程,一步一步下来,发现要一路google。 2018年8月的书,到2019年上机,书上代码已经无法正常运行了。 报的错误就是新版ElasticSearch或者Django已经不支持这个api了。 真是一万字草泥码奔腾而过。
查看全部
看的书或者网上的教程,一步一步下来,发现要一路google。 2018年8月的书,到2019年上机,书上代码已经无法正常运行了。 报的错误就是新版ElasticSearch或者Django已经不支持这个api了。 真是一万字草泥码奔腾而过。
Django2.0+ 加载本地JS文件 配置
python • 李魔佛 发表了文章 • 0 个评论 • 4597 次浏览 • 2019-01-15 10:25
本地调试,把JS存放本地,可以加快调试速度,不然每次都从CDN上取,影响效率,且无法离线运行
(没有网络的情况下)。
环境:python3.6 + Django 2.1.5
文件结构:
在django项目根目录,创建一个static的目录,里面存放一个jquery.js 的文件(这个文件可以到官方下载),然后在settings.py里面配置:
setting.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
然后在模板文件 test.html中引用:
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交割单查询</title>
<script type="text/javascript" src="{% static 'jquery.js' %}"></script>
然后重新运行django,就可以了。 查看全部
本地调试,把JS存放本地,可以加快调试速度,不然每次都从CDN上取,影响效率,且无法离线运行
(没有网络的情况下)。
环境:python3.6 + Django 2.1.5
文件结构:
在django项目根目录,创建一个static的目录,里面存放一个jquery.js 的文件(这个文件可以到官方下载),然后在settings.py里面配置:
setting.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
然后在模板文件 test.html中引用:
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交割单查询</title>
<script type="text/javascript" src="{% static 'jquery.js' %}"></script>
然后重新运行django,就可以了。
missing 1 required positional argument on_delete --Django2.0
python • 李魔佛 发表了文章 • 0 个评论 • 2922 次浏览 • 2018-12-26 15:23
使用ForeignKey 报错
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决办法:from django.db import models
class Article(models.Model):
category = models.ForeignKey('Category', on_delete=models.PROTECT)
title = models.CharField(max_length=55)
# ...
def __str__(self):
return self.title
定义ForeignKey的时候添加参数on_delete,然后需要重新migration model,不然还是会报错。
(如果还是不行,把migration文件夹的内容全部删掉,在migrated一下) 查看全部
使用ForeignKey 报错
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决办法:
from django.db import models
class Article(models.Model):
category = models.ForeignKey('Category', on_delete=models.PROTECT)
title = models.CharField(max_length=55)
# ...
def __str__(self):
return self.title
定义ForeignKey的时候添加参数on_delete,然后需要重新migration model,不然还是会报错。
(如果还是不行,把migration文件夹的内容全部删掉,在migrated一下)
报错 ImportError cannot import name patterns Django版本兼容问题
python • 李魔佛 发表了文章 • 0 个评论 • 5192 次浏览 • 2018-10-25 11:20
百度出来的csdn上的结果:https://blog.csdn.net/xudailong_blog/article/details/78313568
就是不对的,我把django降级到1.10,也是报错,明显不对嘛。
官方上说的1.8之后不建议使用,所以应该降级到1.8才可以。
降级命令:
pip install django==1.8
即可。
查看全部
百度出来的csdn上的结果:https://blog.csdn.net/xudailong_blog/article/details/78313568
就是不对的,我把django降级到1.10,也是报错,明显不对嘛。
官方上说的1.8之后不建议使用,所以应该降级到1.8才可以。
降级命令:
pip install django==1.8
即可。
django不同版本的兼容性太麻烦了
python • 李魔佛 发表了文章 • 0 个评论 • 3645 次浏览 • 2018-08-26 18:20
You must either define the environment variable DJANGO_SETTINGS_MODULE
python • 李魔佛 发表了文章 • 0 个评论 • 5447 次浏览 • 2017-10-08 12:41
from django import template
def template_usage():
t = template.Template('My name is {{ name }}')
c = template.Context({'name':'Rocky'})
print t.render(c)
template_usage()
就出错了。
这个原因一般就是直接使用python或者ipython交互解析器造成的。
你需要切换到你的django目录,然后使用python manager.py shell 运行, 然后执行上面的函数或者代码, 就不会再出现这个错误了
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
查看全部
from django import template
def template_usage():
t = template.Template('My name is {{ name }}')
c = template.Context({'name':'Rocky'})
print t.render(c)
template_usage()
就出错了。
这个原因一般就是直接使用python或者ipython交互解析器造成的。
你需要切换到你的django目录,然后使用python manager.py shell 运行, 然后执行上面的函数或者代码, 就不会再出现这个错误了
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
30天学会django
python • 李魔佛 发表了文章 • 0 个评论 • 3675 次浏览 • 2017-09-17 23:40
先放个标题出来。 每天不定时更新。
我用的视频教程是cstv的那一个系列教程。
不推荐那个django中文手册的,因为文档比较旧,很多命令或者代码是无法再新版的django上运行通过的。 这个会比较打击人。
查看全部
先放个标题出来。 每天不定时更新。
我用的视频教程是cstv的那一个系列教程。
不推荐那个django中文手册的,因为文档比较旧,很多命令或者代码是无法再新版的django上运行通过的。 这个会比较打击人。
python django3 跨域问题解决
python • 李魔佛 发表了文章 • 0 个评论 • 212 次浏览 • 2024-11-22 11:53
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0不然大概率是装不上的。
然后在setting里面配置这个
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
然后就OK了。
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了 查看全部
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10不然大概率是装不上的。
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0
然后在setting里面配置这个
然后就OK了。
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了
Django mysql SSL 证书配置
数据库 • 马化云 发表了文章 • 0 个评论 • 1909 次浏览 • 2022-10-13 15:35
具体配置如下:
ca_path = '/etc/ssl/certs/ca-certificates.crt' # 证书地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wordpress',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1`',
'PORT': 3306,
'OPTIONS': {'ssl':{'KEY': ca_path}}
}
} 查看全部
具体配置如下:
ca_path = '/etc/ssl/certs/ca-certificates.crt' # 证书地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wordpress',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1`',
'PORT': 3306,
'OPTIONS': {'ssl':{'KEY': ca_path}}
}
}
Django 版本不兼容报错 AuthenticationMiddleware
数据库 • 李魔佛 发表了文章 • 0 个评论 • 6912 次浏览 • 2019-07-04 15:43
?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
在之前的版本上没有问题,更新后就出错。
降级Django
pip install django=2.1.7
PS: 这个django的版本兼容的确是个大问题,哪天升级了下django版本,不经过严格的测试就带来灾难性的后果。 查看全部
ERRORS:
?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
在之前的版本上没有问题,更新后就出错。
降级Django
pip install django=2.1.7
PS: 这个django的版本兼容的确是个大问题,哪天升级了下django版本,不经过严格的测试就带来灾难性的后果。
版本不兼容会增加学习的成本和挫败感-致ElasticSearch和Django
数据库 • 李魔佛 发表了文章 • 0 个评论 • 3047 次浏览 • 2019-04-27 21:59
看的书或者网上的教程,一步一步下来,发现要一路google。 2018年8月的书,到2019年上机,书上代码已经无法正常运行了。 报的错误就是新版ElasticSearch或者Django已经不支持这个api了。 真是一万字草泥码奔腾而过。
查看全部
看的书或者网上的教程,一步一步下来,发现要一路google。 2018年8月的书,到2019年上机,书上代码已经无法正常运行了。 报的错误就是新版ElasticSearch或者Django已经不支持这个api了。 真是一万字草泥码奔腾而过。
Django2.0+ 加载本地JS文件 配置
python • 李魔佛 发表了文章 • 0 个评论 • 4597 次浏览 • 2019-01-15 10:25
本地调试,把JS存放本地,可以加快调试速度,不然每次都从CDN上取,影响效率,且无法离线运行
(没有网络的情况下)。
环境:python3.6 + Django 2.1.5
文件结构:
在django项目根目录,创建一个static的目录,里面存放一个jquery.js 的文件(这个文件可以到官方下载),然后在settings.py里面配置:
setting.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
然后在模板文件 test.html中引用:
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交割单查询</title>
<script type="text/javascript" src="{% static 'jquery.js' %}"></script>
然后重新运行django,就可以了。 查看全部
本地调试,把JS存放本地,可以加快调试速度,不然每次都从CDN上取,影响效率,且无法离线运行
(没有网络的情况下)。
环境:python3.6 + Django 2.1.5
文件结构:
在django项目根目录,创建一个static的目录,里面存放一个jquery.js 的文件(这个文件可以到官方下载),然后在settings.py里面配置:
setting.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
然后在模板文件 test.html中引用:
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交割单查询</title>
<script type="text/javascript" src="{% static 'jquery.js' %}"></script>
然后重新运行django,就可以了。
missing 1 required positional argument on_delete --Django2.0
python • 李魔佛 发表了文章 • 0 个评论 • 2922 次浏览 • 2018-12-26 15:23
使用ForeignKey 报错
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决办法:from django.db import models
class Article(models.Model):
category = models.ForeignKey('Category', on_delete=models.PROTECT)
title = models.CharField(max_length=55)
# ...
def __str__(self):
return self.title
定义ForeignKey的时候添加参数on_delete,然后需要重新migration model,不然还是会报错。
(如果还是不行,把migration文件夹的内容全部删掉,在migrated一下) 查看全部
使用ForeignKey 报错
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决办法:
from django.db import models
class Article(models.Model):
category = models.ForeignKey('Category', on_delete=models.PROTECT)
title = models.CharField(max_length=55)
# ...
def __str__(self):
return self.title
定义ForeignKey的时候添加参数on_delete,然后需要重新migration model,不然还是会报错。
(如果还是不行,把migration文件夹的内容全部删掉,在migrated一下)
报错 ImportError cannot import name patterns Django版本兼容问题
python • 李魔佛 发表了文章 • 0 个评论 • 5192 次浏览 • 2018-10-25 11:20
百度出来的csdn上的结果:https://blog.csdn.net/xudailong_blog/article/details/78313568
就是不对的,我把django降级到1.10,也是报错,明显不对嘛。
官方上说的1.8之后不建议使用,所以应该降级到1.8才可以。
降级命令:
pip install django==1.8
即可。
查看全部
百度出来的csdn上的结果:https://blog.csdn.net/xudailong_blog/article/details/78313568
就是不对的,我把django降级到1.10,也是报错,明显不对嘛。
官方上说的1.8之后不建议使用,所以应该降级到1.8才可以。
降级命令:
pip install django==1.8
即可。
django不同版本的兼容性太麻烦了
python • 李魔佛 发表了文章 • 0 个评论 • 3645 次浏览 • 2018-08-26 18:20
You must either define the environment variable DJANGO_SETTINGS_MODULE
python • 李魔佛 发表了文章 • 0 个评论 • 5447 次浏览 • 2017-10-08 12:41
from django import template
def template_usage():
t = template.Template('My name is {{ name }}')
c = template.Context({'name':'Rocky'})
print t.render(c)
template_usage()
就出错了。
这个原因一般就是直接使用python或者ipython交互解析器造成的。
你需要切换到你的django目录,然后使用python manager.py shell 运行, 然后执行上面的函数或者代码, 就不会再出现这个错误了
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
查看全部
from django import template
def template_usage():
t = template.Template('My name is {{ name }}')
c = template.Context({'name':'Rocky'})
print t.render(c)
template_usage()
就出错了。
这个原因一般就是直接使用python或者ipython交互解析器造成的。
你需要切换到你的django目录,然后使用python manager.py shell 运行, 然后执行上面的函数或者代码, 就不会再出现这个错误了
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
30天学会django
python • 李魔佛 发表了文章 • 0 个评论 • 3675 次浏览 • 2017-09-17 23:40
先放个标题出来。 每天不定时更新。
我用的视频教程是cstv的那一个系列教程。
不推荐那个django中文手册的,因为文档比较旧,很多命令或者代码是无法再新版的django上运行通过的。 这个会比较打击人。
查看全部
先放个标题出来。 每天不定时更新。
我用的视频教程是cstv的那一个系列教程。
不推荐那个django中文手册的,因为文档比较旧,很多命令或者代码是无法再新版的django上运行通过的。 这个会比较打击人。