0
点赞
收藏
分享

微信扫一扫

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件


问题描述

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

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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_02


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

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

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

可以创建一个apps的目录,将应用全部拖入,注意拖入apps的时候要去除pycharm查询相关关联的操作。


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_03


文档结构如下:


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_04


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

需要在项目/settings配置路径,如下:


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_05


# 设置apps路径
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

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

在pycharm设置源码目录以及模板目录

  • 设置apps目录为源码目录

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_06


  • 设置templates目录为模板目录

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_07


注册应用的示例

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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_html_08


INSTALLED_APPS = (
'user.apps.UserConfig', # 注册用户模块应用
'cart.apps.CartConfig', # 注册购物车应用
'goods.apps.GoodsConfig', # 注册商品应用
'order.apps.OrderConfig', # 注册订单应用
...
)

配置静态文件目录

  • 创建static文件夹

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_09


  • 在项目/settings配置静态文件路径

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_10


STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
  • 将html模板文件拷贝进入static目录中

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_11


  • 启动服务,查看static文件

执行​​python3 manage.py runserver​​,访问注册模板页面,如下:

​​http://127.0.0.1:8000/static/register.html​​


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_12


设置模板文件

  • 创建templates 文件夹

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_html_13


  • 在项目/settings配置模板文件路径,设置TEMPLATES的DIRS值,如下:
'DIRS': [os.path.join(BASE_DIR, 'templates')],


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_14


  • 将static中的register.html移动到templates目录下

Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_15


移动的时候勾选相关改动,方便自动修改静态文件css\js路径的修改。


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_16


好了,下一步创建一个视图,来映射这个模板。

设置应用的urls示例

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

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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_17


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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_18


from django.urls import path
from . import views

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

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

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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_19


from django.contrib import admin
from django.urls import include, path


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

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

​​http://127.0.0.1:8000/user/register​​


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_django_20


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


Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用_静态文件_21


举报

相关推荐

0 条评论