Django笔记总结(一)--基本操作、目录及文件解析

一、Django基本操作

       1、创建工程

  所谓的工程,就是指我们的程序项目,其中包含了我们的前后端代码,逻辑代码,静态文件等等一切项目相关的文件。

  安装Django完成后,使用命令 “diango-admin startproject 工程路径/工程名” 来创建新工程,新建工程完成后,工程目录下会有一个和工程名同名的目录,其中保存了一些全局的配置文件等。

       2、创建app

  所谓的APP就是我们在这个工程中,把项目拆分成一个个的小的功能,一个app负责一部分的功能,这样便于任务的拆分、协同配合。

  创建工程完毕后进入工程目录,使用命令 “python3 manager.py startapp app名称” 创建新的APP,创建完成后,工程目录中会出现一个app名称的目录,这个目录中就包括了这个app的代码等文件。

       3、启动

  上述两步都创建完成后就可以启动Django了,进入工程目录,使用命令 “python3 manager.py runserver [IP] [port]” 命令就可以启动服务了,然后通该IP和port就可以访问了

       4、创建数据库

  数据库操作将放在后面的博客中介绍,此处只介绍两个命令:

  python3 manager.py makemigration

  上述命令并不会立即在数据库中创建表

  python3 manager.py migrate

  执行此命令后才正式在数据库中创建表

二、Django工程同名目录文件功能解析

       1、__init__.py文件

  初始化工程文件,该文件中可以写一些初始化的操作,比如当我们使用mysql数据库时,如果希望使用MySQLdb来操作数据库时,就可以在该文件中写入下述代码:

import pymysql
pymysql.install_as_MySQLdb()

 

       2、settings.py文件

  该文件是Django的全局配置文件所在,其内容如下:

"""
Django settings for line_admin project.
Generated by 'django-admin startproject' using Django 1.10.4.
For more information on this file, see
https://docs.djangoproject.com/en/1.10/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.10/ref/settings/
"""
import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'pge^aw)xfs69&fv5v@c*6g__2c6k+t@*$^ojkb(^r8-j_z2=c&'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = [
]

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'line_admin.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
WSGI_APPLICATION
= 'line_admin.wsgi.application' # Database # https://docs.djangoproject.com/en/1.10/ref/settings/#databases DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'line_admin', 'USER': 'root', 'PASSWORD': 'zhydb', 'HOST': '139.59.249.94', 'PORT': '3306', } } # Password validation # https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/1.10/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.10/howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), )

 

       3、url.py文件

  此文件是路由配置的文件,关于路由规则会在后面的博客中详细介绍

       4、wsgi.py文件

三、Django创建APP目录及文件解析

       1、migrations目录

  此目录记录了数据库变化情况

       2、admin.py文件

       3、apps.py文件

       4、models.py文件

  此文件用来定义数据库表

       5、tests.py文件

  此文件用于单元测试

       6、urls.py文件

  此文件是APP自己的路由规则所在的文件

       7、views.py文件

  此文件是视图函数的代码所在文件,关于视图函数会在后面的博客中详细介绍

四、静态文件目录

  创建工程完成后,我们需要在工程目录下创建一个“static”目录用户保存静态文件。

  关于静态文件,在网站中,那些图片、css、js等一般情况下内容不会变化的文件都是静态文件,我们可以把这些文件都放这个静态文件目录中。

  静态目录创建完成后需要在settings.py文件中添加如下的配置:

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)

 

五、模板文件目录

  模板文件就是指那些html文件,在用户访问的过程中,Django会将页面上的数据套用到模板文件,渲染成一个完整的字符串然后返回给客户端,这些模板文件存放在templates目录中,关于模板文件以及模板语言的语法将会在后续的博客中详细介绍。

posted @ 2017-02-08 14:51  没有手艺的手艺人  阅读(598)  评论(0编辑  收藏  举报