Django和AngularJS的最佳项目结构

5

我为自己创建了一个相当大的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

也许我应该为整个项目创建一个全局的Angular应用程序,然后单个Django应用程序应该在视图中注册它们的控制器?我认为当我们想要使用来自其他应用程序的模块时,这样做可能很有用。

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

或许我还是错了?

2个回答

5

最近我使用Django和AngularJS构建了一个大型应用程序。

我使用DRF提供REST服务。在研究了架构后,我决定将Angular放在Django本身的上下文中提供服务。因此,我的项目结构如下所示:

| - 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等构建应用程序。


1
整个项目是SPA吗? 我想一个Django应用程序=一个Django视图(我的意思是模板),所有子视图都使用Angular制作。你觉得呢? - tomeusek
1
是的,这正是我所做的。在主模板中添加了一个 Ui-view 指令,并从那里使用它。 - Newtt
1
假设您正在使用类似npm的工具进行开发,您如何在生产服务器上部署js静态文件? - Manjit Kumar

0
`| - 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接