Django学习笔记(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mango_haoming/article/details/76405456

二、博客应用的创建

博客应用

Django 鼓励我们把自己编写的代码组织到应用(Application)里,并且最好是一个应用只提供一种功能。

  1. 创建

沿用已经创建好的虚拟环境。manage.py顾名思义是一个管理工具。可以使用它创建y一个django的app

创建命令

python manage.py startapp blog
(blogproject_env) E:\Workspace\blogproject>python manage.py startapp blog

(blogproject_env) E:\Workspace\blogproject>

2、查看创建的目录

(blogproject_env) E:\Workspace\blogproject>tree
卷 新加卷 的文件夹 PATH 列表
卷序列号为 0000000A BC0E:BF63
E:.
├─blog
│  └─migrations
└─blogproject
    └─__pycache__

多出一个文件blog文件夹

bolg目录树结构

(blogproject_env) E:\Workspace\blogproject\blog>tree /f
卷 新加卷 的文件夹 PATH 列表
卷序列号为 00000001 BC0E:BF63
E:.
│  admin.py
│  apps.py
│  models.py
│  tests.py
│  views.py
│  __init__.py
│
└─migrations
        __init__.py
  • admin.py:admin后台管理文件
  • init.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般不需要做修改。
  • migrations:数据库相关目录
  • models.py:主要用一个 Python 类来描述数据表。 - 称为模型(model) 。 运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。
  • views.py:视图文件
  • tests.py:测试文件

工程(Project)和应用(Application)的理解和区别

  • 目录结构

(blogproject_env) E:\Workspace\blogproject>tree /f
卷 新加卷 的文件夹 PATH 列表
卷序列号为 0000008C BC0E:BF63
E:.
│  db.sqlite3
│  manage.py
│
├─blog
│  │  admin.py
│  │  apps.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  └─migrations
│          __init__.py
│
└─blogproject
    │  settings.py
    │  urls.py
    │  wsgi.py
    │  __init__.py
    │
    └─__pycache__
            settings.cpython-36.pyc
            urls.cpython-36.pyc
            wsgi.cpython-36.pyc
            __init__.cpython-36.pyc
  • Project

其中manage.py是在开发web项目时经常用到的工具,如:python manage.py runserver localhost:8000 ; python manage.py syndb 等等,而在内部的mysite目录下放着四个py文件,其中init.py用于说明内部的mysite目录是一个python模块,打开settings.py文件,我们可以看到一些基本的配置信息,包括数据库配置,时区,安装的APP,中间件,日志配置,以及一些基本的目录配置等,其本质上相当于一个基本的web工程的全局配置。urls.py文件中包含一个urlpatterns变量,其实它就是一个URL Dispacher(URL分派器),用于在URL和实际的view之间建立一个映射。

  • App

其中 init.py用于说明polls目录是一个python模块,models.py中包含一系列的模型类,每个模型类对应数据库中的一个表,这之间的映射由Django来做,有关数据库的配置在mysite/settings.py中。而views.py中包含的是对各个请求的处理逻辑,前面说的URL Dispacher即将URL请求映射到这个文件中的函数或类方法上。同时可以在polls目录下创建template目录,然后将前台的html,css,script等内容放置在这个目录下,并在setttings.py文件添加相应的配置信息。所以,我们其实可以看到APP相当于一个相对独立的功能模块

  • 区别

project和APP的区别,project包含一些全局配置,这些配置构成一个全局的运行平台,各个APP都运行在这个全局的运行平台上,而APP代表的是一个相对独立的功能模块,所以程序的逻辑都在APP中

要点总结

1、 app创建

python manage.py startapp [app_name]

2、app注册

在project目录下的settings.py文件里添加app 的注册

3、manage.py

manage.py 是一个重要的命令行工具,顾名思义起着管理的作用

4、project和APP的区别

project和APP的区别,project包含一些全局配置,这些配置构成一个全局的运行平台,各个APP都运行在这个全局的运行平台上,而APP代表的是一个相对独立的功能模块,所以程序的逻辑都在APP中

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页