django要配置app的原因

发布时间:2020-11-25 11:54:34 作者:小新
来源:亿速云 阅读:218

小编给大家分享一下django要配置app的原因,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创建APP

在Django中的一个app代表一个功能模块。开发者可以将不同功能的模块放在不同的app中, 方便代码的复用。app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相关的功能模块。

打开命令行,进入项目所在的目录:(注意Django的操作必须在虚拟环境下进行)

E:\>cd django_project
E:\django_project>

进入虚拟环境

 E:\django_project> env\Scripts\activate.bat
 (env) E:\>

看到盘符前有(env)标识则表示进入虚拟环境成功。

输入python manage.py startapp article指令,创建名为article的app:

(env) E:\django_project\my_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的原因”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. mysql要索引的原因
  2. python要缩进控制的原因

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django app pp

上一篇:django中orm的优点是什么

下一篇:django是用什么语言写的开源web开发框架

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》