本次主要是对自己学习的内容进行复习加深理解,涉及的知识是Django的安装和简单的页面创建
一、必备基础知识
Python、html、网页相应原理(熟悉Java编程的应该都烂熟于心了)
二、Django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。
Django官方网址:https://www.djangoproject.com/
1.Django安装
Django2.0+以下版本支持Python2.7、3.2、3.4、3.5
Django2.0+以上支持Python3.5及以上
所以我安装的是Python2.7,安装Django版本是1.10.2
(1)安装Python
官方下载Python安装文件,直接安装。Windows用户在安装Python同时会自动安装pip,其他系统需要自行安装pip
(2)安装Django
pip install Django==1.10.2
最好采用这种带有版本号的方式安装,否则会产生自动安装最新版本而导致的不兼容情况
2.实践:创建项目、理解各文件含义
我使用的开发工具是pycharm
在想要保存网站的目录下(指定目录)创建项目文件夹:使用django-admin startproject myblog命令创建myblog项目
创建完成后文件格式如下:
myblog
— — manage.py
— — myblpg
— — __init__.py
— — settings.py
— — urls.py
— — wsgi.py
(1)manage.py
项目管理器
在manage.py同级目录下使用python mange.py则可以查看manage所包含的管理功能,其中最重要的是其包含服务器的启动命令
使用 Python manage.py runserver [端口号] 端口号可选,默认8000,结果如下:
(2)myblog
与项目名同名的文件,实为项目容器,包含项目的基本配置。理论上这个名字可以修改,但是因为在创建时已将其写入各配置文件,因此如果要修改会造成不必要的麻
烦、建议不修改
1)wsgi.py
Python服务器网关接口,不需要修改
2)urls.py
URL配置文件
3)__init__.py
通常为空,告诉我们这是一个模块
4)settings.py
最重要的一个文件,是项目总的配置文件,管理着包含数据库、web应用、时间等的配置
详细介绍如下:
a. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
项目地址
b. # SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 's23r&8h^n%+a-_w$g+0*tm&4m2ke^u+m=)zu7urqp5g(o%!8kb'
c.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True 调试时会用到,默认设为TRUE,当发布时要改为False,以免因此直接将错误抛给用户
d. ALLOWED_HOSTS = [] 允许登入的网站列表,空则默认所有
e. # Application definition
INSTALLED_APPS = [ 创建新的应用就需要将其加入到这个列表中,如我加入了blog 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog' ] f.中间件,一般不需要修改
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', ] g. 指向的就是urls.py文件
ROOT_URLCONF = 'myblog.urls' h.模板文件
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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', ], }, }, ]
i. 服务器网关接口
WSGI_APPLICATION = 'myblog.wsgi.application'j.数据库相关配置文件
# 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'), } } k.密码管理
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', }, ] l.其他
# 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
3.实践:创建应用
在manage.py同级目录下使用 python mange.py startapp blog创建blog项目应用,并将项目名添加至INSTALLED_APPS列表中
应用文件格式如下:
blog
— —migrations 下面的所有文件均由django自动生成,是管理数据迁移的模块
— — __init__.py
— — __init__.py
— — admin.py 当前应用的管理文件,每个应用都有一个管理文件
— — apps.py 应用的配置文件
— — models.py 数据模型模块,以后创建的数据、数表都存放在这里
— — tests.py 自动化测试模块
— — views.py 执行相应的代码所在的模块
基本的创建已将解析完毕、下篇开始创建第一个网页。