Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何只为服务器和客户端定义一次URL?_Django_Angular_Server_Routes_Client - Fatal编程技术网

Django 如何只为服务器和客户端定义一次URL?

Django 如何只为服务器和客户端定义一次URL?,django,angular,server,routes,client,Django,Angular,Server,Routes,Client,各位!!我正在构建一个web应用程序,即服务器客户端应用程序。对于两者之间的交互,我必须在后端和前端定义两次URL(硬编码字符串),这使得将来的更改很困难,因为它需要在两个位置更改代码,而不是只在一个位置更改代码 我正在使用Django和Angular,因此我正在寻找一种方法来指定后端端点一次,然后理想地读取它们并将其用于Angular生产构建。因此,对端点的更改只需要新的构建,而不需要进一步的更改 这些是否应该在一些.cfg文件中定义,并在服务器启动时由后端读取,或者以某种方式将它们添加到An

各位!!我正在构建一个web应用程序,即服务器客户端应用程序。对于两者之间的交互,我必须在后端和前端定义两次URL(硬编码字符串),这使得将来的更改很困难,因为它需要在两个位置更改代码,而不是只在一个位置更改代码

我正在使用
Django
Angular
,因此我正在寻找一种方法来指定后端端点一次,然后理想地读取它们并将其用于Angular生产构建。因此,对端点的更改只需要新的构建,而不需要进一步的更改

这些是否应该在一些
.cfg
文件中定义,并在服务器启动时由后端读取,或者以某种方式将它们添加到
Angular的构建过程中
?任何建议都会有帮助,因为这种冗余几乎存在于每个webapp项目中,必须有一个更聪明的解决方案


提前谢谢你的帮助

在这里,后端应用程序拥有并定义到实体的url映射。可能有多个客户端可以使用相同的API,如web客户端、Android客户端和iOS客户端。在此设置中,您的后端是url映射的关键点,客户端应用程序应配置为使用后端应用程序中定义的url映射


一种可能的方法是在后端应用程序的路径上为后端中定义的URL提供服务,并让您的客户端应用程序使用那里提供的数据进行自我配置。例如,如果默认情况下在API的根路径(“/”)上使用Django Rest Framework,则会提供资源以及资源的url映射。您可以使用这种机制在构建时配置客户端应用程序。

这里,后端应用程序拥有并定义到实体的url映射。可能有多个客户端可以使用相同的API,如web客户端、Android客户端和iOS客户端。在此设置中,您的后端是url映射的关键点,客户端应用程序应配置为使用后端应用程序中定义的url映射


一种可能的方法是在后端应用程序的路径上为后端中定义的URL提供服务,并让您的客户端应用程序使用那里提供的数据进行自我配置。例如,如果默认情况下在API的根路径(“/”)上使用Django Rest Framework,则会提供资源以及资源的url映射。您可以使用这种机制在构建时配置客户端应用程序。

有多少个端点,您更改它们的可能性有多大?最有可能的情况是,您总是需要进行更多的更改,而不仅仅是在一个位置进行更改,因为更改端点的原因通常是您试图发布或获取新的数据结构。这意味着您无论如何都必须更改该请求进程,以处理新的数据类型或发布的内容

也可以考虑一些公开的API,它们没有给你提供一个可用路由的配置文件的端点。当他们对端点进行更改时,通常会创建一个版本化的api,以便消费者可以在自己的时间内进行升级


在我看来,除非你正在计划一个大规模的web应用程序,否则我不会太担心尝试实现这样的东西。

有多少个端点,你改变它们的可能性有多大?最有可能的情况是,您总是需要进行更多的更改,而不仅仅是在一个位置进行更改,因为更改端点的原因通常是您试图发布或获取新的数据结构。这意味着您无论如何都必须更改该请求进程,以处理新的数据类型或发布的内容

也可以考虑一些公开的API,它们没有给你提供一个可用路由的配置文件的端点。当他们对端点进行更改时,通常会创建一个版本化的api,以便消费者可以在自己的时间内进行升级

在我看来,除非你正在计划一个大规模的web应用程序,否则我不会太担心尝试实现这样的东西