最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • django为什么要配置app

    正文概述    2020-02-10   379

    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

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元