关于 Django 更合理的项目结构讨论

2017-05-12 16:01:10 +08:00
 prasanta

在 API 接口开发过程中,我使用了 Django Rest Framework. 使用 Django 原始的项目结构进行开发时感觉不够流畅,不知道大家有没有同感

为此, 我自己设计了一个比较舒适的结构进行 API 接口的开发. 我参考了许多 Django 项目以及其它语言类似的框架的项目结构.

大家可以看看哪里可以一起优化的.

目录结构(博客项目举例)

{app.name}
   api/
        __init__.py
        urls.py
        tasks.py
        models.py
        migrations/
            __init__.py
        docs/
            users.md
            blogs.md
            catagries.md
            comments.md
            tags.md
        tests/
            __init__.py
            test_users.py
            test_blogs.py
            test_comments.py
            test_tags.py
            test_catagries.py
        resources/
            __init__.py
            users.py
            blogs.py
            catagries.py
            tags.py
            comments.py

    config/
        __init.py
        common.py
        dev.py
        prod.py

    celery.py
    manage.py
    wsgi.py
    fabfile.py
    .gitignore
    mkdocs.yml
    requirements.txt

不知道大家有什么开发?

2776 次点击
所在节点    Python
7 条回复
ansheng
2017-05-12 17:35:56 +08:00
你这个,,一个文件,即写了 view 又写了 Serializer,ViewSet,Permission 等,个人认为,晦涩难懂,代码文件太长,还是因人而意吧,弱弱的问一句,tests 你放哪儿?
ansheng
2017-05-12 17:36:46 +08:00
test..... 不合理
```bash
tests/
__init__.py
test_users.py
test_blogs.py
test_comments.py
test_tags.py
test_catagries.py
```
既然都已经有了 tests 就不用再加 test_了吧,个人感觉
prasanta
2017-05-12 17:40:15 +08:00
@ansheng

1. 如果分好模块后,users.py 里面的代码量是会比之前全在 views.py 中少的
2. 加 test_是一种约定.
chuanqirenwu
2017-05-12 18:09:33 +08:00
主要还是看对象。
ansheng
2017-05-12 18:22:39 +08:00
@prasanta 我觉得少的只会是一些 import 或者 from
mapleray
2017-05-12 19:48:39 +08:00
<two scoops of Django > 里面有专讲结构,看看感觉会对你有很大帮助
prasanta
2017-05-13 00:10:40 +08:00
@mapleray 看过了,不太适合 API 接口开发的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX