Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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和Reactjs_Django_Reactjs_Webpack - Fatal编程技术网

Django和Reactjs

Django和Reactjs,django,reactjs,webpack,Django,Reactjs,Webpack,我是react js新手,我见过很多关于react和Django使用Django webpack loader和webpack bundle tracker的文章,我必须说我已经关注了它们,但没有成功。 首先,我很困惑。 我应该运行哪个服务器 py manage.py runserver 或 django网页包加载器做什么 我甚至不知道我是否已经问了所有应该问的问题。 我所知道的是,我没有成功地将它们链接起来。几个月前我也遇到过同样的情况,正如我从您的问题中得出的结论,我想您正在努力使用Rea

我是react js新手,我见过很多关于react和Django使用Django webpack loader和webpack bundle tracker的文章,我必须说我已经关注了它们,但没有成功。 首先,我很困惑。 我应该运行哪个服务器

py manage.py runserver

django网页包加载器做什么

我甚至不知道我是否已经问了所有应该问的问题。
我所知道的是,我没有成功地将它们链接起来。

几个月前我也遇到过同样的情况,正如我从您的问题中得出的结论,我想您正在努力使用React设置Django。我想分享我的实现(这是每个人都推荐使用的标准实现)

相应地遵循以下步骤:-

  • 将前端与后端分开,这意味着您需要准备REST API,因为后端不使用Django模板,只需制作一个Restful API,它在views.py的每个方法中返回一些JSON数据。您可以使用
    Django REST FRAMEWORK
    制作REST API,它提供了很多功能,您还需要通过执行
    pip install django CORS HEADERS
    来安装
    CORS-HEADERS
    ,并通过以下方式更新
    settings.py中已安装的应用程序:-

    INSTALLED_APPS = [
    .......,
    .......
    'corsheaders', 
    ]
    
    cors头的全部目的是允许发出一个不在同一来源上运行的请求。因为前端与后端位于不同的端口上

  • 完成API后,现在让前端使用React随时调用API

  • api服务器将在类似
    的平台上运行,前端服务器将运行

  • 因此,您必须访问端口号
    8080
    才能查看应用程序。要查看API的端点,您需要访问端口号
    8000

  • 您可以看到我的一个项目,即如何维护react with Django,这也可以帮助您


  • 如果有任何疑问,请提出,尽管我建议遵循此体系结构,因为无论您切换后端框架还是前端框架,这都将保持不变,但请务必让我知道其中是否有错误

    正如一般规则一样,您有两个基本选项:1。运行两个独立的服务器。使用Django进行路由、建模和创建可调用API。使用react前端调用api。这是一种模块化的方法,但是您牺牲了一个代码库。2.使用React作为模板语言。我建议不要这样做,因为这将需要进行重大调整,并使react和Django的工作方式不完全符合预期。@Matty使用react作为模板系统和Django进行路由时,哭得最少,请查看:。谢谢,@NickSweeting。我认为我反对这种方法的一个原因是缺乏优先级或文档。你的文章当然有帮助。但是对于一个编写非生产代码的初学者,我认为最好分别学习SPA(在本例中为React)和Django。另外,我还必须安装Django cors header来执行跨域请求。欢迎光临,我没有提到cors header,我将更新答案,以便对其他Sokay有所帮助。请这样做。有很多设计可以用来结合Django+React,RESTAPI+独立前端不是唯一的方法。我写的这篇博文可能有助于澄清一些可用的选项:。感谢@nick sweeting让我意识到这一点。
    INSTALLED_APPS = [
    .......,
    .......
    'corsheaders', 
    ]