前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 2.1.7 项目技巧 - 应用目录划分

Django 2.1.7 项目技巧 - 应用目录划分

作者头像
Devops海洋的渔夫
发布2019-07-15 15:09:08
8720
发布2019-07-15 15:09:08
举报
文章被收录于专栏:Devops专栏Devops专栏

问题描述

在正式编写django项目的时候,初始使用是直接创建了应用之后,没有进行归纳就开始直接使用了。

假设我有四个应用用户、商品、订单、购物车,直接创建之后的文档结构如下:

除开应用的目录,还有其他文档docs目录、项目的dailyfresh目录,全部在一个层级就会比较混乱。

那么有没有一个好方法来处理一下呢?

解决问题 - 创建apps目录来归纳应用

可以创建一个apps的目录,将应用全部拖入,文档结构如下:

这样划分归纳之后,文档结构就比较清晰了。但是这样做也带来了一个问题,就是应用的路径问题。

之前配置urls.py或者注册应用,都是直接应用名就可以了,现在也只是需要在前面加上apps路径即可,例如:apps.goods.urls

下面是配置urls和注册应用的示例代码。

注册应用的示例

进入项目目录下的settings.py配置文件中,如下:

代码语言:javascript
复制
INSTALLED_APPS = (
    'apps.user.apps.UserConfig', # 注册用户模块应用
    'apps.cart.apps.CartConfig', # 注册购物车应用
    'apps.goods.apps.GoodsConfig', # 注册商品应用
    'apps.order.apps.OrderConfig', # 注册订单应用
    ....
)

设置应用的urls示例

下面使用用户模块创建一个视图,然后配置urls作为示例,如下:

1)在应用users.view.py创建index视图,如下:

代码语言:javascript
复制
from django.http import HttpResponse

def index(request):
    return HttpResponse("<h1>apps user's index!</h1>")

2)创建user应用的urls.py文件,配置如下:

代码语言:javascript
复制
from django.urls import path
from . import views

app_name = 'user' # 设置命名空间

urlpatterns = [
    # ex:/user/index
    path('index', views.index, name='index'),
]

3)在项目的urls.py文件中加入应用的urls,如下:

代码语言:javascript
复制
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('user/', include('apps.user.urls')), # 导入user应用的urls.py
    path('goods/', include('apps.goods.urls')), # 导入goods应用的urls.py
    path('cart/', include('apps.cart.urls')), # 导入cart应用的urls.py
    path('order/', include('apps.order.urls')), # 导入goods应用的urls.py
    path('admin/', admin.site.urls),
]

可以看到,导入应用的urls只需要在前面加上路径apps即可。

4) 启动服务,访问index视图

http://127.0.0.1:8000/user/index

到这里说明增加了apps目录也可以正常工作访问视图了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 解决问题 - 创建apps目录来归纳应用
    • 注册应用的示例
      • 设置应用的urls示例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档