django为什么要配置app
创建APP
在Django中的一个app代表一个功能模块。开发者可以将不同功能的模块放在不同的app中, 方便代码的复用。app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相关的功能模块。
打开命令行,进入项目所在的目录:(注意Django的操作必须在虚拟环境下进行)
E:>cd django_projectE:django_project>
进入虚拟环境
E:django_project> envScriptsactivate.bat(env) E:>
看到盘符前有(env)标识则表示进入虚拟环境成功。
输入python manage.py startapp article指令,创建名为article的app:
(env) E:django_projectmy_blog>python manage.py startapp article
查看一下my_blog文件夹,应该看到这样的结构:
my_blog│ db.sqlite3
│ manage.py
│
├─article
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ views.py
│ │ __init__.py
│ │
│ └─migrations
│ __init__.py
│
└─my_blog
│ settings.py
│ urls.py
│ wsgi.py
└─ __init__.py
其中article文件夹就是刚创建出来的app,用来放置博客文章相关的代码。
注册APP(settings)
接着我们需要修改项目配置文件,“告诉”Django现在有article这么一个app了。
打开根目录的settings.py,找到INSTALLED_APPS写入如下代码:
settings.py/INSTALLED_APPS = [ # 其他代码
...
# 新增'article'代码,激活app
'article',
]
配置访问路径(urls)
然后再给app配置访问路径url。
url可以理解为访问网站时输入的网址链接,配置好url后Django才知道怎样定位app。
打开根目录下的urls.py,增加以下代码:
urls.py/from django.contrib import admin
# 记得引入include
from django.urls import path, include
# 存放映射关系的列表
urlpatterns = [
path('admin/', admin.site.urls),
# 新增代码,配置app的url
path('article/', include('article.urls', namespace='article')),
]
path为Django的路由语法。参数article/分配了app的访问路径;include将路径分发给下一步处理;namespace可以保证反查到唯一的url,即使不同的app使用了相同的url(后面会用到)。记得在顶部引入include。
还没结束。现在我们已经通过path将根路径为article/的访问都分发给article这个app去处理。但是app通常有多个页面地址,因此还需要app自己也有一个路由分发,也就是article.urls了。
在app生成时并没有这个文件,因此需要自己在article/文件夹中创建urls.py,在里面输入:
article/urls.py# 引入path
from django.urls import path
# 正在部署的应用的名称
app_name = 'article'
urlpatterns = [
# 目前还没有urls
]
urlpatterns中暂时是空的,没写入任何路径的映射,不着急以后会写。
注意Django2.0之后,app的urls.py必须配置app_name,否则会报错。
此时我们的app就配置完成了。
以上是 django为什么要配置app 的全部内容, 来源链接: utcz.com/z/523362.html