前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django2实战1.初识django什么是django环境安装创建第一个项目启动开发服务器项目配置文件小结

django2实战1.初识django什么是django环境安装创建第一个项目启动开发服务器项目配置文件小结

作者头像
章鱼喵
发布2018-09-26 18:02:31
7740
发布2018-09-26 18:02:31
举报
文章被收录于专栏:codingcoding

什么是django

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

  • 减少重复的繁琐的工作,web开发中有很多重复的没有技术含量的工作,web工作可以将这些工作封装好,或者自动化实现
  • 提供标准与规范,便于开发人员合作。如果不用web框架,每个开发人员的代码风格都不一致,增加很大的沟通成本
  • 提供了更加安全健壮的底层架构,即使是初入门的程序员,只要按照框架的规范开发,也能快速完成一个不错的成品

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

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

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

no longer supported

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

环境安装

我使用的python版本是3.6.6

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

准备工作:

代码语言:javascript
复制
☁  python  pip install --upgrade pip # 升级pip
☁  python  pip install ipython # 安装ipython

指定安装2.1.1版本

代码语言:javascript
复制
☁  python  pip install django==2.1.1

验证安装

代码语言:javascript
复制
☁  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

代码语言:javascript
复制
☁  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中,默认指定了注册的应用:

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

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

代码语言:javascript
复制
☁  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服务器

代码语言:javascript
复制
☁  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/

django

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

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

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

代码语言:javascript
复制
☁  mysite  python manage.py runserver 127.0.0.1:8001 # 指定为8001端口

项目配置文件

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

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

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

小结

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.09.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是django
  • 环境安装
  • 创建第一个项目
  • 启动开发服务器
  • 项目配置文件
  • 小结
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档