用于访问Eve Swagger界面的Django应用程序。
adarnauth-esi的Python项目详细描述
#adarnauth esi
django应用程序,用于访问eve swagger界面。
将"esi"添加到"已安装的应用程序"设置:
"已安装的应用程序+="esi`
2。在项目的url中包含esi urlconf:
`url(r'^sso/',include('esi.url',namespace='esi'),`
>3。向[eve developers site]注册应用程序(https://developers.eveonline.com/applications)
否则,"仅验证"就足够了。
将"回调url"设置为"https://example.com/sso/callback"
4。将SSO客户端设置添加到项目设置中:
`esi_sso_client_id="my client id"`
`esi_sso_client_secret="my client secret"`
`esi_sso_callback_url="https://example.com/sso/callback"`
<5。运行"python manage.py migrate"创建模型。
令牌):
…
这将提示用户从当前令牌中选择一个令牌,或者如果不存在令牌,则通过SSO创建一个新令牌。
若要指定作用域,添加名称列表或以空格分隔的字符串:
@token_required(scopes=['esi-location.read_ship_type.v1','esi location.read_location.v1'])
@token required(scopes='esi-location.read_ship_type.v1 esi location.read_location.v1')
以需要新的令牌,例如,对于登录,添加"new"参数:
@token\u required(new=true)
改为用"tokens\u required"装饰符包装并接受"tokens"参数:
@tokens\u required(scopes='esi-location.read\u ship\u type.v1')
def my\u view(request,令牌):
…
这将跳过令牌选择的提示,而是将该职责传递给视图。令牌作为queryset提供。
调用工厂:
from esi.clients import esi_client_factory
client=esi_client_factory()
添加令牌参数:
client=esi_client_factory(token=my_token)
或者,如果不能更新,则引发一个"tokenexpirederror"。
esi router将其映射到正确的路由,即"legacy"、"latest"或"dev"。
客户端初始化以基本的swagger规范开始。默认情况下,这是在设置中定义的版本("ESI API版本"),但是可以用工厂的额外参数覆盖:
client=token.get_esi_client(version='v4')
只有具有指定版本号的资源才可用。例如,如果指定'v4',但'universe'没有'v4'版本,则该特定客户端将无法使用该版本。只有"legacy"、"latest"和"dev"可以保证所有资源都可用。
工厂的所有参数:
client=token.get_esi_client(universe='v1',character='v3')
[eve swagger interface browser]上提供了可用资源的列表(https://esi.tech.ccp.is)。如果指定版本的资源不可用,将引发"attributeerror"。
此版本的资源替换最初初始化的资源。如果请求的基本版本没有指定的资源,则将添加该资源。
请注意,每个资源只有一个旧版本可通过旧路由使用。关注[部署时间表](https://github.com/ccpcames/esi-issues/projects/2/)以获取资源更新。
给定版本。这可以通过将[versioned latest spec]的副本(https://esi.tech.ccp.is//u latest/swagger.json)随应用程序一起发送来解决。**这是部署的首选方法。**
当前文件的目录如下:
c=esi_client_factory(spec_file=os.path.join(os.path.dirname(os.path.abspath(u file_uu)),'swagger.json'))
=esi_client_factory(datasource='tanquirity')
可用的数据源是"tanquirity"和"singularity"。
默认值为300。
-`cleanu_token`检查所有的'token'模型,如果过期,则尝试刷新。如果过期且无法刷新或无法刷新,则删除模型。
若要使用Celerybeat自动安排这些时间,将它们添加到您的设置中。py"cellerybeat_schedule"dict like so:
从芹菜中。schedules导入crontab
…
"esi_cleanup_callbackredirect":{
"task":"esi.tasks.cleanup_callbackredirect",
"调度":crontab(hour='*/4'),
},
"esi清理令牌":{
"任务":"esi.tasks.cleanup令牌",
"调度":crontab(day='*/1'),
,
}
如果你的应用不需要后台令牌验证,最好不要安排令牌清理任务,当使用"@token_required"装饰符或在查询结束时添加".require_valid()"时,将依赖于验证检查。通过defalt,adarnauth esi将处理宁静群集上的所有操作。要在singularity上操作,需要更改两个设置:
-`esi_oauth_url`应设置为`https://sisilogin.testeveonline.com/oauth`
-`esi_api_datasource`应设置为`singularity`
请注意,令牌不能在服务器之间传输。在切换到奇点之前,数据库中的任何标记都将在下次刷新时被删除。
django应用程序,用于访问eve swagger界面。
将"esi"添加到"已安装的应用程序"设置:
"已安装的应用程序+="esi`
2。在项目的url中包含esi urlconf:
`url(r'^sso/',include('esi.url',namespace='esi'),`
>3。向[eve developers site]注册应用程序(https://developers.eveonline.com/applications)
否则,"仅验证"就足够了。
将"回调url"设置为"https://example.com/sso/callback"
4。将SSO客户端设置添加到项目设置中:
`esi_sso_client_id="my client id"`
`esi_sso_client_secret="my client secret"`
`esi_sso_callback_url="https://example.com/sso/callback"`
<5。运行"python manage.py migrate"创建模型。
令牌):
…
这将提示用户从当前令牌中选择一个令牌,或者如果不存在令牌,则通过SSO创建一个新令牌。
若要指定作用域,添加名称列表或以空格分隔的字符串:
@token_required(scopes=['esi-location.read_ship_type.v1','esi location.read_location.v1'])
@token required(scopes='esi-location.read_ship_type.v1 esi location.read_location.v1')
以需要新的令牌,例如,对于登录,添加"new"参数:
@token\u required(new=true)
改为用"tokens\u required"装饰符包装并接受"tokens"参数:
@tokens\u required(scopes='esi-location.read\u ship\u type.v1')
def my\u view(request,令牌):
…
这将跳过令牌选择的提示,而是将该职责传递给视图。令牌作为queryset提供。
调用工厂:
from esi.clients import esi_client_factory
client=esi_client_factory()
添加令牌参数:
client=esi_client_factory(token=my_token)
或者,如果不能更新,则引发一个"tokenexpirederror"。
esi router将其映射到正确的路由,即"legacy"、"latest"或"dev"。
客户端初始化以基本的swagger规范开始。默认情况下,这是在设置中定义的版本("ESI API版本"),但是可以用工厂的额外参数覆盖:
只有具有指定版本号的资源才可用。例如,如果指定'v4',但'universe'没有'v4'版本,则该特定客户端将无法使用该版本。只有"legacy"、"latest"和"dev"可以保证所有资源都可用。
工厂的所有参数:
[eve swagger interface browser]上提供了可用资源的列表(https://esi.tech.ccp.is)。如果指定版本的资源不可用,将引发"attributeerror"。
此版本的资源替换最初初始化的资源。如果请求的基本版本没有指定的资源,则将添加该资源。
请注意,每个资源只有一个旧版本可通过旧路由使用。关注[部署时间表](https://github.com/ccpcames/esi-issues/projects/2/)以获取资源更新。
给定版本。这可以通过将[versioned latest spec]的副本(https://esi.tech.ccp.is//u latest/swagger.json)随应用程序一起发送来解决。**这是部署的首选方法。**
当前文件的目录如下:
c=esi_client_factory(spec_file=os.path.join(os.path.dirname(os.path.abspath(u file_uu)),'swagger.json'))
=esi_client_factory(datasource='tanquirity')
可用的数据源是"tanquirity"和"singularity"。
默认值为300。
-`cleanu_token`检查所有的'token'模型,如果过期,则尝试刷新。如果过期且无法刷新或无法刷新,则删除模型。
若要使用Celerybeat自动安排这些时间,将它们添加到您的设置中。py"cellerybeat_schedule"dict like so:
从芹菜中。schedules导入crontab
"esi_cleanup_callbackredirect":{
"task":"esi.tasks.cleanup_callbackredirect",
"调度":crontab(hour='*/4'),
},
"esi清理令牌":{
"任务":"esi.tasks.cleanup令牌",
"调度":crontab(day='*/1'),
,
}
如果你的应用不需要后台令牌验证,最好不要安排令牌清理任务,当使用"@token_required"装饰符或在查询结束时添加".require_valid()"时,将依赖于验证检查。通过defalt,adarnauth esi将处理宁静群集上的所有操作。要在singularity上操作,需要更改两个设置:
-`esi_oauth_url`应设置为`https://sisilogin.testeveonline.com/oauth`
-`esi_api_datasource`应设置为`singularity`
请注意,令牌不能在服务器之间传输。在切换到奇点之前,数据库中的任何标记都将在下次刷新时被删除。