【问题标题】:Best project structure for django & angularjsdjango 和 angularjs 的最佳项目结构
【发布时间】:2015-07-18 09:42:43
【问题描述】:

我为自己创建了一个非常大的 Django 项目,并希望在前端实现 AngularJS,在后端实现一些 rest 框架。我知道该项目将实现至少 7-8 个我自己的应用程序(我认为 django 应用程序应该很小并且负责一个功能)。

我以前从未使用过 AngularJS - 但我想创建良好的架构。 所以只有一个 django 应用程序应该有一个 Angular 应用程序?

| - Django project
|--- app1
|------ angular_app1
|---------angular controller1
|---------angular controller2
|--- app2
|------ angular_app2
|---------angular controller1
|---------angular controller2

或者也许我应该为整个项目提供一个全局角度应用程序,而单个 django 应用程序应该在视图中注册他们的控制器?我认为当我们想使用其他应用程序中的模块时,它会很有用。

| - Django project
|--- angular app
|--- app1
|-------angular controller1
|-------angular controller2
|--- app2
|-------angular controller3
|-------angular controller4

或者我还是错了?

【问题讨论】:

    标签: python angularjs django


    【解决方案1】:

    实际上,我最近使用 Django 和 AngularJS 构建了一个巨大的应用程序。

    我将 DRF 用于其他服务。通过架构,我决定在 Django 本身的上下文中服务 Angular。所以我的项目结构如下所示

    | - Django project
        --DjangoApp1
        --DjangoApp2
        --DjangoSettingsDir
        --static
            --assets/
                --JS/
                    -- controllers/
                --partials/
        --templates //base Django templates
             --index.html
    

    使用简单的 Django render/ 提供 index.html。使用 index.html 中的 Angular、UI Router、UI Bootstrap 等来构建应用程序。

    【讨论】:

    • 整个项目都是SPA?我想过 1 django app = 1 django 视图(我的意思是模板)和所有使用 Angular 制作的子视图。你怎么看?
    • 是的,这正是我所做的。在主模板中添加了一个Ui-view 指令并从那里使用它。
    • 假设你正在使用类似npm的工具进行开发,你如何在生产服务器上部署你的js静态文件?
    【解决方案2】:
    `| - Django project
    --DjangoApp1
    --DjangoApp2
    --DjangoSettingsDir
    --static
        --bower_component/
            --all Javascript Library/
        --node_build
            --all node files or npm files(if required)
        --templates
            --all custom HTML files
        --JavaScript
            --all custom JavaScript files
        --Style
            --all custom CSS files goes here
    --templates //base Django templates
         --index.html`
         --index.js
         --index.css
    

    【讨论】:

      猜你喜欢
      • 2017-08-01
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2012-07-25
      • 2017-02-18
      相关资源
      最近更新 更多