django - 如何在 Python Django 中托管 Angular 6 应用程序?

标签 django angular6

我想在 Django 中托管 Angular 6 应用程序,我该怎么做?

最佳答案

集成 Angular 8django 2.2

Django 2.2 使用 Visual Studio和 Angular 8 的 Visual Studio Code


我对上述解决方案进行了调整,最终成功了。在上述解决方案之上使用一些额外的引用资料(在末尾列出)设计了一个更简单的解决方案。

假设:

  • angular 设置在:example/angular
  • django 安装在:example/django

将angular文件直接分发到django静态文件夹

这是 #1 的关键,其余的是胶水(有点难看)代码,尽可能轻松地将框架拼接在一起。

在控制台:

cd example/angular

ng build --prod --output-path ..\django\mysite\mysite\app\static\angular --output-hashing none --watch

检查 Angular/CLI对于命令行开关及其使用,这里的关键是角度编译的输出直接进入 Django,不需要中间人。

为开发和测试维护独立的FE和BE

注意:这是可选的,您可能会“破坏”您的 Angular 开发环境并将所有 Django 标签和属性直接放在 Angular 中,代价是失去 FE - BE 独立性。

在 Django 中不能“按原样”使用 Angular 中分发的 index.html。
这是一个这样的例子,称之为 angular.html:

{% load static %}

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>mysite</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="{% static 'angular/favicon.ico' %}">
  <link rel="stylesheet" href="{% static 'angular/styles.css' %}">
</head>

<body>
  <app-root></app-root>
    <script src="{% static 'angular/runtime.js' %}"></script>
    <script src="{% static 'angular/polyfills-es5.js' %}"></script>
    <script src="{% static 'angular/polyfills.js' %}"></script>
    <script src="{% static 'angular/main.js' %}"></script>
</body>
</html>

注意:只使用Django原生语言

像任何其他 html 一样在 django 中提供它

还有什么

关于django - 如何在 Python Django 中托管 Angular 6 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53503054/

相关文章:

python - ElasticSearch/Solr-产品站点的同义词?

angular - 开源 Angular 树组件

Angular/RxJS 6 : How to prevent duplicate HTTP requests?

angular-material2 - 选择所有垫选项并取消选择所有

angular - 如何在生产构建中更改 Angular 应用程序脚本的路径?

angular6 - 如何在 ionic 4 中动态添加 Direction ['ltr' , 'rtl' ]?

python - 访问输入到多个 Django 表单中的数据并将其生成到新的 URL 上

python - 是否可以使用内置的 LogEntry 来跟踪每个用户的操作,而不仅仅是在管理页面中?

python - ZipExtFile 到 Django 文件

django - 使用 Django 设置紧凑的隐私政策