问题标签 [django-webpack-loader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1379 浏览

python - django-webpack-loader 不使用 react-app-rewired 渲染反应应用程序

我正在努力将我的 react(16.6.3) 和 Django(2.0) 应用程序捆绑在一起。现在我正在努力让开发服务器正常工作,稍后将专注于生产。我一直在关注这个过程的一些指南,但它们都有点不同(而且大多数似乎已经过时),我一直无法找到正确的组合来完成这个工作。我的最终目标是我希望能够从 1 个终端窗口运行开发服务器。

我正在使用 react-app-rewired 因为我不想弹出。我的理解是,最好不要弹出而不是手动配置所有 Webpack 配置。这对我来说尤其如此,因为我还在学习 react/webpack。

我的理解是,一旦配置完成,我只需要运行 Django 服务器,它就会显示我的应用程序。我没有运行collectstatic或任何npm start或构建命令。

这是我配置的内容:

基础.py

本地.py

配置覆盖.js

main.html

网址.py

使用此配置并运行 Django 服务器,当我导航到 localhost:8000 时,我看到的只是一个基本页面:

在此处输入图像描述

项目结构:

0 投票
0 回答
107 浏览

django - Vue 服务器和 django 在同一台机器上运行,django 服务器无法获取客户端文件

我正在尝试在同一台机器上运行 vuejs 服务器和 django 服务器。它在我的本地机器上运行良好,默认情况下 django 在http://127.0.0.1:8000上运行,并且 vue.config.js 的公共路径列为 0.0.0.0:8080。但是当我在我的远程机器上运行它时,我像'python3 manage.py runserver 0.0.0.0:8000'一样启动django服务器并访问我的django服务器,我用{{ubuntu_machine_ip}}:8000点击浏览器。浏览器控制台抱怨说找不到 app.js。

我很确定我将错误的 IP 传递到我的 vue.config.js 但无法弄清楚 IP 是什么。

我已经尝试过 127.0.0.1:8080 但无法使其工作。添加了我的 vue.config.js baseUrl 设置。

const BundleTracker = require("webpack-bundle-tracker");

module.exports = { baseUrl: " http://0.0.0.0:8080/ ", ''' }

0 投票
1 回答
465 浏览

django - 我的 main.css 没有渲染,我正在使用多个入口点 webpack.config

main.css没有渲染,我在webpack.config.js文件中使用了多个入口点

我希望我的两个 app.js 文件都会呈现,并且可以通过将 URL 放入浏览器中来运行其中写入的路由

0 投票
1 回答
992 浏览

django - 如何使用 Django webpack loader 在 Django 中使用 VueJs 组件?

我按照本教程使用 django-webpack-loader 集成了 Django 和 VueJs,现在 django-webpack-loader 的 main.js 输出正在加载到我的 index.html

这是我的项目目录结构

我的Demo.vue组件已被导入index.js并使用webpack.config.js文件,所有必要的文件都已捆绑到app.js.

我的问题是下一步是什么?例如,如果我有一些 VueJs 组件并且想在我的一些模板中使用它们,我应该怎么做?我应该在组件目录中创建组件并将它们全部捆绑吗?如果是这种情况,我应该如何选择使用或不使用特定模板中的组件?我应该如何使用 Django 模板标签来插入动态数据?或者我应该以另一种方式编写我的组件?

我知道这里有多个问题,但我找不到一个很好的参考来回答我的问题,所以任何帮助都将不胜感激。

0 投票
1 回答
332 浏览

django - Webpack 找不到文件

我最近正在关注一个关于在 Django 中使用 webpack 的教程,对于我来说,本地主机只是找不到我的包文件

这是我在本地主机上检查时控制台显示的内容:

GET http://127.0.0.1:8000/static/bundles/bundle.js net::ERR_ABORTED 404 (Not Found)

但是我的项目根目录中确实有一个名为 static 的目录,里面有一个 bundles 目录,还有一个 bundle.js 文件。我不明白为什么本地主机找不到我的文件

这是我的树的一部分:

如您所见,里面有一个静态文件、一个包文件和里面的 bundle.js。这是我的 Django 设置代码:

任何帮助将不胜感激!太感谢了

编辑:跟进:删除 STATIC_URL 也无济于事。认为这可能会导致问题,但似乎并非如此

0 投票
1 回答
235 浏览

python - django modelformset_factory raises form not valid: id 选择一个有效的选项。该选择不是可用的选择之一

我正在尝试使用 django modelformset_factory 在 django 中创建学生考勤表...但是当我保存表单集时,我的 id 无效这是我的实现

我有两个模型,一个 StudentAttendance 和 StudentClass: 1:StudentAttendance 模型负责存储学生
出勤数据这里是示例

2:StudentClass模型是一个子模型,将一个学生映射到他各自的班级

所以我的 forms.py 实现是:

在我的views.py上:

当用户发布要提交的表单时,这就是我处理表单的方式:

在我的模板上,我在表格中显示表单,这是我的实现:form.html:

这是用户点击提交按钮后 django 抛出的错误:

所以我的问题是......我该如何处理这个帖子请求表,或者如果他们是完成我的任务的另一种方式:任何潜在客户都将受到重视

0 投票
1 回答
325 浏览

django - 为什么我们需要 `django-webpack-looader` 来通过 django 为 Vue SPA 应用程序提供服务?

我想通过 django 为我的 Vue 应用程序(作为 SPA)提供服务,我通过了这篇文章。作者使用django-webpack-loader来实现这一点,但不是添加一个简单的TemplateView周围dist/index.html就可以完成这项工作:

这也需要更改settings.by如下:

我的问题是,django-webpack-loader如果应用程序已经使用构建,那么在这个过程中的作用是什么vue-cli

0 投票
1 回答
105 浏览

reactjs - Django Webpack 加载器 Apache2

我有一个带有 webpackloader djangorest-react js 的项目,在生产中一切正常,但我每次都需要启动 django 服务器......我的目标是通过 mod_wsgi 运行 django 和我的 apache2 反应项目,我可以运行 django 项目但是反应保持无法访问...

这是 django 的 apache2 的工作配置,它运行良好。

我想我需要使用另一个守护程序或代理,但如果您有任何链接或建议提前谢谢,我会有点迷茫。

0 投票
1 回答
578 浏览

javascript - Django webpack loader:如何引用webpack编译的静态图片

我正在为一个 Django 应用程序设置 webpack,这django-webpack-loader似乎是显而易见的选择。我可以很好地编译我的jsscss文件,但是在加载图像时我碰壁了。

我的webpack.config.js文件看起来像这样(为简洁起见,我删除了 scss、minifiers、babel 等):

据我所知,file-loader我需要在静态图像文件中加载。

当我运行构建时,图像文件很高兴地位于我的compiled_assets/images目录中,并添加了它的哈希值。

问题似乎在于如何引用该文件。虽然js使用

{% render_bundle 'main' 'js' 'DEFAULT' %}

标签,我无法显示图像文件。文档建议我需要使用类似的东西

在我的 html 文件中但没有运气,它只是尝试将实际资产呈现为

<img src="/static/logo.jpg">


我认为问题可能在我的settings.py文件中。这是它的相关部分:

我错过了什么吗?类似于 , 的东西STATICFILES_DIRSSTATIC_FILES或者可能是一些与图像相关的设置?

0 投票
2 回答
1044 浏览

django - 在开发和生产之间更改 API 端点 (React/Django)

我正在 django 项目中开发一个 react 应用程序,并使用 Django rest 框架连接它们。为了从反应应用程序中进行 API 调用,我使用的是 axios。

现在在我的开发环境中,我显然调用了 localhost URL 来访问 API。为此,我有一个包含 axios 实例的文件:

显然,我的 API 调用在生产环境中不起作用,因为 URL 与上面的不同。我正在将我的 react 应用程序编译成一个静态文件,该文件包含在我的 django 项目中,所以我认为我不能真正添加​​任何检查环境的代码。

我的一个想法是我可以在我的项目中包含一个我不会投入生产的文件,然后检查该文件是否存在并在 if 语句中调整 url。但是,我不确定这是否是一个好的解决方案,或者我将如何在纯 Javascript 中实现它。

我很高兴听到对此的任何想法

编辑

在考虑了我的问题之后,它实际上没有任何意义 - 我在提交之前编译我的文件,所以它无论如何都不能是动态的。我真正需要的是一个我在开发中使用的 main.js 文件和另一个我将在生产中使用的文件。但是,我不知道如何实现这一点,因为我没有在生产中捆绑任何文件?也许有一种方法可以始终捆绑两个文件 - 一个带有 localhost url,另一个带有我的生产 url。

我正在使用 django-webpack-loader 应用程序,它告诉我的 django 应用程序将哪个文件加载到 html 文件中。通过访问环境变量,我可以安排更改。但是我如何告诉 webpack 制作两个不同的包呢?