我目前正在开发一个使用android-studiowith的应用程序Kotlin和一个使用django-rest-framework.
我想127.0.0.1使用 android 模拟器访问我的本地服务器,以从 API 方法中获取一些值。
我在堆栈溢出网站和其他网站上检查了一些问题,并参考一些文章设置了我的代码,例如在 中添加一些代码、AndroidManifest.xml制作network_security_config.xml、更改 的代理Android emulator以及更改项目中的一些代码Django rest framework。
即使当我到达本地服务器中的端点时,我也会收到如下错误代码:
2020-10-07 22:37:39.318 7247-7247/com.sample.apitest I/System.out: checked
2020-10-07 22:37:39.358 7247-7280/com.sample.apitest D/NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
2020-10-07 22:37:39.392 7247-7280/com.sample.apitest W/System.err: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8000
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err: at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
2020-10-07 22:37:39.395 7247-7280/com.sample.apitest W/System.err: at …Run Code Online (Sandbox Code Playgroud) android localhost android-emulator django-rest-framework django-cors-headers
我正在django rest framework使用 Visual Studio 2015、python 2.7、django 1.9开发应用程序。我已启用 CORS。当我通过命令提示符运行它时,我可以从其他来源访问它python manage.py runserver 0.0.0.0:8086。但是,在 Visual Studio 自动调试中,它在 127.0.0.0 上运行。我想配置visual studio以在指定的ip(即0.0.0.0)上运行服务器。因此,调试将很容易。
我尝试从site-packages\django\core\management\commands\runserver.py.
并且还能够在项目的 Visual Studio 属性中设置默认端口。但是,无法设置默认ip。
任何人都可以帮助我将 ip 0.0.0.0 配置为默认值,而不是 Visual Studio 中的默认值 (127.0.0.1)。
提前致谢。
python django django-rest-framework visual-studio-2015 django-cors-headers
我的 Angular4 应用程序(在http://127.0.0.1:4200开发服务器上运行)应该访问网络上的 django REST 后端。后端在我的控制之下,只能通过 HTTPS 访问(运行 Apache,将请求传送到在内部端口上运行的 Gunicorn 服务器)。假设这是https://example.com/. 由于历史原因,用户登录是使用会话完成的,因为我希望用户登录后也能够使用 Django 的管理界面。工作流程如下:
http://127.0.0.1:4200,我执行 GET 请求,https://example.com/REST/is_logged_in当用户尚未通过会话登录时返回 403,否则返回 200。在前一种情况下,用户被重定向到https://example.com/login/,由Django的模板引擎渲染,允许用户登录。登录后,用户被重定向到http://127.0.0.1:4200这是我在 Django 中的 CORS 配置:
NG_APP_ABSOLUTE_URL = 'http://127.0.0.1:4200'
# adapt Django's to Angular's presumed XSRF cookie/header names
CSRF_COOKIE_NAME = "XSRF-TOKEN"
CSRF_HEADER_NAME = "HTTP_X_XSRF_TOKEN"
CORS_ORIGIN_WHITELIST = (
urlparse(NG_APP_ABSOLUTE_URL).netloc
)
CSRF_TRUSTED_ORIGINS = (
urlparse(NG_APP_ABSOLUTE_URL).netloc
)
CORS_ALLOW_HEADERS = default_headers …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 Django-Cors-Headers 库添加到我的 Django REST Framework 项目中,该项目是 Docker 化的。在没有库的情况下运行我的项目可以正常运行,但是在我按照django-cors-headers github上的文档添加它之后- 具体来说:
从 pip 安装:
pip install django-cors-headers
Run Code Online (Sandbox Code Playgroud)
(尽管就我而言,由于它是码头化的,所以我做到了:)
docker-compose run --rm web pip install django-cors-headers
Run Code Online (Sandbox Code Playgroud)
然后将其添加到您已安装的应用程序中:
INSTALLED_APPS = (
...
'corsheaders',
...
)
Run Code Online (Sandbox Code Playgroud)
您还需要添加一个中间件类来监听响应:
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
Run Code Online (Sandbox Code Playgroud)
好吧,知道了所有这些,然后我运行:
docker-compose up
Run Code Online (Sandbox Code Playgroud)
它本质上只是等待 postgres、迁移,然后运行服务器。
这是我的堆栈跟踪:
Traceback (most recent call last):
File "./manage.py", line 24, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute
django.setup()
File "/usr/local/lib/python3.6/site-packages/django/__init__.py", line 24, …Run Code Online (Sandbox Code Playgroud) 嘿伙计们,当我安装了 corsheaders 时,我收到以下错误消息,知道为什么我收到以下错误消息,因为我没有想法。
installed:
Python 3.7.2
certifi==2018.11.29
chardet==3.0.4
Django==2.1.7
django-cors-headers==2.4.0
django-mssql==1.8
django-oauth-toolkit==1.2.0
djangorestframework==3.9.1
idna==2.8
oauthlib==3.0.1
pytz==2018.9
requests==2.21.0
urllib3==1.24.1
(Oauth) C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth>Scripts\python.exe mysite\manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03AC8C48>
Traceback (most recent call last):
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 248, in raise_last_exception
raise _exception[1]
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\__init__.py", line 337, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\__init__.py", line 24, in …Run Code Online (Sandbox Code Playgroud) 我是 IOS 和 Android 应用程序开发的新手,我正在寻求知识。我有一个 Django Web API,其配置为
CORS_ORIGIN_WHITELIST = ('example1.com', 'example2.com')
Run Code Online (Sandbox Code Playgroud)
我知道只有这两个主机名中的应用程序才是我的 Web API 会接受的请求,但我的问题是.. 我要构建以连接到我的 Web API 的 IOS 和 Android 应用程序怎么样?这些也会被屏蔽吗?
我是Django的新手并尝试为我的服务器启用CORS.我找不到内置的解决方案,所以我选择了django-cors-headers.我在Ubuntu 15.04中的python 3.5上的conda环境中运行我的服务器.所以我用pip3安装django-cors-header安装它.当我做pip3列表时,鞋子django-cors-header安装在版本1.2.2.在我的django应用程序中,我做到了.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'polls',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
Run Code Online (Sandbox Code Playgroud)
但是,当我跑步python3 manage.py runserver它停止说ImportError: No module named 'corsheaders'.我已阅读所有关于它的SO帖子,但似乎没有解决我的问题.请帮助
我正在尝试使用 Axios 向我的 API(Django REST 框架)发出请求,但出现以下错误:
Access to XMLHttpRequest at 'http://trvl.hopto.org:8000/api/airports/MSP/routes' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
当你使用 cUrl 来检查时,甚至很难:
curl -I -X GET -H "Origin: http://localhost:3000" -H 'Access-Control-Request-Method: GET' http://trvl.hopto.org:8000/api/airports/MSP/routes 2>&1 | grep 'Access-Control-Allow-Origin'
Response: Access-Control-Allow-Origin: *
Full response from cUrl Options:
OPTIONS request: curl -I -X OPTIONS -H "Origin: http://localhost:3000" -H 'Access-Control-Request-Method: GET' http://trvl.hopto.org:8000/api/airports/MSP/routes
HTTP/1.1 200 OK
Date: Wed, 27 Mar 2019 10:58:01 GMT
Server: WSGIServer/0.2 …Run Code Online (Sandbox Code Playgroud) javascript django-rest-framework reactjs django-cors-headers axios