Django 开发环境配置过程详解

 更新时间:2019年07月18日 09:46:14   作者:杜赛_dusai  
这篇文章主要介绍了Django 开发环境配置过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

开发环境

开发环境为:

  • Win 10(64位)
  • Python 3.7.0
  • Django 2.1

安装Python

python的安装为比较简单,首先找到Python官方网站,选择python3.7的windows版本,下载并安装。

安装时注意勾选添加python到环境变量中。如果没有或者漏掉这一步,请安装完毕后自行添加。

若实在不知道怎么弄的,看这篇文章:

windows上安装python3教程以及环境变量配置

安装完成后打开命令行,输入python -V,系统打印出python的版本号,说明安装成功了:

C:\Users\dusai> python -V
Python 3.7.0

配置虚拟环境

虚拟环境(virtualenv,或venv )是 Python 多版本管理的利器,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。你可以将虚拟环境理解为一个隔绝的小系统。

从Python3.3版本开始就自带了虚拟环境,不需要安装,配置一下就可以用了。

新建一个文件夹,教程中为django_project。进入此文件夹:

E:\>cd django_project
E:\django_project>

输入配置venv的命令,其中的env为虚拟环境的放置目录:

E:\django_project> python -m venv env 

创建完成后,输入env\Scripts\activate.bat,即可进入虚拟环境:

E:\django_project> env\Scripts\activate.bat
(env) E:\django_project>

盘符前有(env)标识说明进入venv成功。

安装Django

在虚拟环境下,输入命令pip install django==2.1:

(env) E:\django_project> pip install django==2.1

Collecting django==2.1
 Using cached 
 ...
 ...
Successfully installed django-2.1

(env) E:\django_project>

通过指令pip install django==2.1来安装和教程相同版本的Django。

系统打印出以上文字表示Django安装成功了。

创建Django项目

还是在虚拟环境下,在django_project文件夹中创建Django项目:

(env) E:\django_project>django-admin startproject my_blog

查看django_project文件夹,发现多了my_blog文件夹,其结构应该是这样:

my_blog
│ db.sqlite3
│ manage.py
│
└─my_blog
 │ settings.py
 │ urls.py
 │ wsgi.py
 └─ __init__.py

这就是我们刚创建出来的项目了。

注意Python3.7和Django<=1.11是不兼容的。如果报错请尝试安装新版本的Django,或者回退Python<=3.6版本。

运行Django服务器

非常幸运,Django自带一个轻量的Web开发服务器,也被叫做“runserver”。

开发服务器是为了让你快速开发Web程序,通过它可以避开配置生产环境的服务器的繁琐环节。

开发服务器会自动的检测代码的改变,并且自动加载它,因此在修改代码后不需要手动去重启服务器,非常的方便。

要运行这个django服务器,首先要进入my_blog文件夹,即含有manage.py文件的那个:

(env) E:\django_project>cd my_blog
(env) E:\django_project\my_blog>

输入命令python manage.py runserver:

(env) E:\django_project\my_blog>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 20, 2018 - 17:32:34
Django version 2.1, using settings 'my_blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

系统打印出这些信息,说明服务器启动成功了,打开chrome浏览器,输入http://127.0.0.1:8000/,即倒数第2排信息提示我们的服务器地址。看到下面的界面:

恭喜你,小火箭起飞,django运行起来了!

代码编辑器的选择

django运行起来后,我们还需要一款代码编辑器或者集成开发环境(IDE)来编辑python文件,以达到开发需求。

市面上有很多Python的代码编辑器或者集成开发环境可以选择。

我使用了代码编辑器Sublime Text 3。

进入Sublime Text 3官网,下载对应版本的安装文件安装即可使用了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用Python编写电脑定时关机小程序

    使用Python编写电脑定时关机小程序

    这篇文章主要为大家详细介绍了如何使用Python编写电脑定时关机小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • python中函数总结之装饰器闭包详解

    python中函数总结之装饰器闭包详解

    下面小编就为大家带来一篇python中函数总结之装饰器闭包详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 详解向scrapy中的spider传递参数的几种方法(2种)

    详解向scrapy中的spider传递参数的几种方法(2种)

    这篇文章主要介绍了详解向scrapy中的spider传递参数的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • django开发之settings.py中变量的全局引用详解

    django开发之settings.py中变量的全局引用详解

    当网站里面的一些内容,如邮箱,网站标题,网站的描述,这些东西我们可以存在数据库中也可以存放在我们的setting 文件中,这篇文章主要给大家介绍了django中settings.py变量的全局引用的相关资料,文中介绍的非常详细,需要的朋友可以参考下。
    2017-03-03
  • Python爬虫设置代理IP的方法(爬虫技巧)

    Python爬虫设置代理IP的方法(爬虫技巧)

    这篇文章主要介绍了Python爬虫设置代理IP的方法(爬虫技巧),需要的朋友可以参考下
    2018-03-03
  • Python实现简单层次聚类算法以及可视化

    Python实现简单层次聚类算法以及可视化

    这篇文章主要为大家详细介绍了Python实现简单层次聚类算法以及可视化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python 实现视频 图像帧提取

    python 实现视频 图像帧提取

    今天小编就为大家分享一篇python 实现视频 图像帧提取,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 解决python写入mysql中datetime类型遇到的问题

    解决python写入mysql中datetime类型遇到的问题

    今天小编就为大家分享一篇解决python写入mysql中datetime类型遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python里使用正则表达式的组嵌套实例详解

    python里使用正则表达式的组嵌套实例详解

    这篇文章主要介绍了python里使用正则表达式的组嵌套实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • Python 设计模式中命令模式

    Python 设计模式中命令模式

    这篇文章主要介绍了Python 设计模式中的命令模式,命令模式的目的是解耦调用操作的对象和提供实现的对象,下文介绍具有一定参考价值,需要的小伙伴可以参考一下
    2022-02-02

最新评论