django2实战1.初识django

什么是django

django是用python语言写的一个web框架。web框架的作用有以下几点:

  • 减少重复的繁琐的工作,web开发中有很多重复的没有技术含量的工作,web工作可以将这些工作封装好,或者自动化实现

  • 提供标准与规范,便于开发人员合作。如果不用web框架,每个开发人员的代码风格都不一致,增加很大的沟通成本

  • 提供了更加安全健壮的底层架构,即使是初入门的程序员,只要按照框架的规范开发,也能快速完成一个不错的成品

以建房子为比喻,如果每个建筑工都以自己的想法去建,而且要负责所有的流程,包括打地基,建柱子,垒砖头等。这种造出来的房子肯定是又丑又不坚固。如果这个房子的地基已经打好了,基本的架构都弄好了,材料也都提供好了,建筑工只需要按照规范在这个基础上加砖头,即使是刚出道的小工,也能胜任。

总之,框架的作用就是让我们把事情做得又快又好。

django当前(2018年9月)的最新版本是2.1.1,网上的很多教程还是旧的1.8版本,此版本官方已经不再提供支持了

django2实战1.初识django_第1张图片
no longer supported

本实战教程使用的是django2.1.1版本,从零开始讲解django的使用,并且每篇都是实例,希望能让新手从入门到实战,而不是从入门到放弃...

环境安装

我使用的python版本是3.6.6

推荐使用pyenv安装对应的版本,详情查看 为python版本抓狂,试下pyenv吧

准备工作:

☁  python  pip install --upgrade pip # 升级pip
☁  python  pip install ipython # 安装ipython

指定安装2.1.1版本

☁  python  pip install django==2.1.1

验证安装

☁  python  ipython
Python 3.6.6 (default, Sep  5 2018, 08:57:22)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import django

In [2]: django.get_version()
Out[2]: '2.1.1'

创建第一个项目

开始创建我们的第一个项目,项目名为mysite

☁  python  django-admin startproject mysite
☁  python  tree mysite
mysite
├── manage.py
└── mysite
    ├── __init__.py # 空文件,告知python将mysite目录作为一个python模块
    ├── settings.py # 项目的配置文件
    ├── urls.py # url配置文件,指定url与view层的映射关系
    └── wsgi.py # web服务器网关接口,定义了web服务器如何与python应用程序交互

1 directory, 5 files

配置文件settings.py中,默认指定了注册的应用:

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

以上这些应用对数据库是有依赖的,默认使用的是SQLITE3数据库,需要先执行数据迁移生成相应的数据

☁  mysite  python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

启动开发服务器

数据库初始完成后,便可启动django自带的web服务器

☁  mysite  python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
September 05, 2018 - 02:49:00
Django version 2.1.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

浏览器访问:http://127.0.0.1:8000/

django2实战1.初识django_第2张图片
django

终端按 ctrl+c 关闭web服务器

终端会实时打印出所有的访问记录

默认的端口是8000, 我们也可以自定义端口

☁  mysite  python manage.py runserver 127.0.0.1:8001 # 指定为8001端口

项目配置文件

settings.py的部分配置项说明:

DEBUG = True # 调试模式,默认是开启状态。当应用运行出错时,会抛出详细的错误信息。调试模式只能在开发环境开启。切忌在生产环境开启,会暴露应用的敏感信息,除非你不想要饭碗了...
INSTALLED_APPS # 告知Django哪些应用处于开启状态,我们新增应用时,需要在该配置项增加应用名称
MIDDLEWARE # 中间件
ROOT_URLCONF # 项目url的配置路径
DATABASES # 数据库配置信息,默认是sqlite3
LANGUAGE_CODE # 默认语言
USE_TZ # 开启时区

关于项目文件的更多详情,查看官方文档介绍

小结

本节介绍了django的安装,目录结构,创建项目, 配置文件。有些看不懂并没关系,新接触一个知识点,不能奢求一下子就能了解各个细节,先大致有个概念,跟着教程操作。学多几节后再回头看,就会有柳暗花明又一村的体验。

下一节将讲解如何创建一个django应用。如果你感兴趣,请关注我的django2实战文集

如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

你可能感兴趣的:(django2实战1.初识django)