Django入门-1:Django简介和环境搭建

简介: Django入门-1:Django简介和环境搭建

Django需要什么基础

  1. Django python 语言写的一个Web框架包,所以你得知道一些 Python 基础知识。
  2. 其次你最好有一些做网站的经验,懂一些网页 HTML, CSS, JavaScript 的知识。
  3. 没有经验也没有关系,慢慢来就好了,你一定可以学会,Django 很简单!


Django 特点

强大的数据库功能

  • python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句

自带的强大的后台功能

  • 几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容!

优雅的网址

  • 用正则匹配网址,传递到对应函数,随意定义,如你所想!

模板系统

  • 强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。

缓存系统

  • memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。

国际化

  • 完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

 

  • Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。Django的理念是DRY(Don't Repeat Yourself)来鼓励快速开发!


让我们一览 Django 全貌

urls.py

  • 网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

views.py

  • 处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

models.py

  • 与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

forms.py

  • 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

templates

  • 文件夹

views.py

  • 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

admin.py

  • 后台,可以用很少量的代码就拥有一个强大的后台。

settings.py

  • Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

Django版本选择

 

图片.png

图片.png

图片.png

下载Django

  • Option 1: Get the latest official version【正式版本】

The latest official version is 1.11.5. Read the 1.11.5 release notes, then install it with pip:

pip install Django==1.11.5

  • Option 2: Get the latest development version【开发版本】

The latest and greatest Django version is the one that’s in our Git repository (our revision-control system).

This is only for experienced users who want to try incoming changes and help identify bugs

before an official release. Get it using this shell command, which requires Git:

git clone https://github.com/django/django.git

You can also download a gzipped tarball of the development version. 【压缩版】

https://github.com/django/django/archive/master.tar.gz

This archive is updated every time we commit code.

 

检查是否安装成功

C:\Users\Administrator>python

Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]

on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import django

>>> django.VERSION

(1, 11, 5, 'final', 0)

>>> django.get_version()

'1.11.5'

>>>

搭建多个互不干扰的开发环境

 

  • 开发会用 virtualenv 来管理多个开发环境,virtualenvwrapper 使得virtualenv变得更好用

# 安装:

(sudo) pip install virtualenv virtualenvwrapper

 

Linux/Mac OSX 下:

  • 修改~/.bash_profile或其它环境变量相关文件(如 .bashrc 或用 ZSH 之后的 .zshrc),添加以下语句

export WORKON_HOME=$HOME/.virtualenvs

export PROJECT_HOME=$HOME/workspace

source /usr/local/bin/virtualenvwrapper.sh

  • 修改后使之立即生效(也可以重启终端使之生效):

source ~/.bash_profile


Windows 下:    

# using pip【安装】

pip install virtualenvwrapper-win 这就不必说了 注意后面-win

 

# 默认虚拟环境安装位置及修改方法

【可选】Windows下默认虚拟环境是放在用户名下面的Envs中的,与桌面,我的文档,下载等文件夹在一块的。

更改方法:计算机,属性,高级系统设置,环境变量,添加WORKON_HOME,

如图(windows 10 环境变量设置截图):

Optional: Add anenvironmentvariable WORKON_HOME to specify the path tostoreenvironments.

By default, this is%USERPROFILE%\Envs.

AS lguananut said, you are asking how to set anenvironment variable. Take Win7 as example,

executecommand "sysdm.cpl"

Go toAdvanced tab, open "EnviromentVariables..."

New a system variable

Inpop window, set variable name = WORKON_HOME, value = [your virtual environments root]

relaunch one command prompt, all commands like mkvirtualenv, workon will works.

在windows里自己设置一个环境变量叫WORKON_HOME,注意设置完要重新开一个cmd,然后...成功了。

然后就是使用了,其实使用非常简单,也是说他好用的原因。


virtualenv 使用方法

mkvirtualenv <name> 创建虚拟环境

Create a new virtualenv environment named. The environment will be created in WORKON_HOME.

lsvirtualenv 列出已有虚拟环境

List all of the enviornments stored in WORKON_HOME.

rmvirtualenv <name> 删除

Remove the environment. Usesfolder_delete.bat.

workon [<name>] 开启哪一个工作

workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境

Ifis specified, activate the environment named(change the working virtualenv to).

If a project directory has been defined, we will change into it.

If no argument is specified, list the available environments.

One can pass additional option -c after virtualenv name to cd to virtualenv directory if no projectdir is set.

deactivate 关闭【退出终端环境

Deactivate the working virtualenv and switch back to the default system Python.

add2virtualenv <full or relative path> 未知,貌似是改成可移植环境,不确定,暂时没用到。

If a virtualenv environment is active,

appendstovirtualenv_path_extensions.pthinside the environment’s site-packages,

which effectively addsto the environment’s PYTHONPATH.

If a virtualenv environment is not active, appendstovirtualenv_path_extensions.

pthinside the default Python’s site-packages. Ifdoesn’t exist, it will be created.

rmvirtualenv ENV:删除运行环境ENV

mkproject mic:创建mic项目和运行环境mic

mktmpenv:创建临时运行环境

lssitepackages: 列出当前环境安装了的包

创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。

查看当前的所有虚拟环境:workon [两次tab键]

查看虚拟环境中已经安装的包

pip list

pip freeze

 



目录
相关文章
|
5天前
|
Java API 数据库
Django:从入门到精通
【11月更文挑战第18天】Django是一个由Python编写的高级Web应用框架,以其简洁性、安全性和高效性而闻名。Django最初由Adrian Holovaty和Simon Willison于2003年开发,旨在简化Web应用的开发过程。作为一个开放源代码项目,Django迅速吸引了大量的开发者和用户,成为了Python Web开发领域的重要工具之一。
13 1
|
1月前
|
存储 Shell 数据库
Python编程--Django入门:用户账户(二)
Python编程--Django入门:用户账户(二)
|
1月前
|
存储 数据库 Python
Python编程--Django入门:用户账户(一)
Python编程--Django入门:用户账户(一)
|
3月前
|
数据库 开发者 Java
颠覆传统开发:Hibernate与Spring Boot的集成,让你的开发效率飞跃式提升!
【8月更文挑战第31天】在 Java 开发中,Spring Boot 和 Hibernate 已成为许多开发者的首选技术栈。Spring Boot 简化了配置和部署过程,而 Hibernate 则是一个强大的 ORM 框架,用于管理数据库交互。将两者结合使用,可以极大提升开发效率并构建高性能的现代 Java 应用。本文将通过代码示例展示如何在 Spring Boot 项目中集成 Hibernate,并实现基本的数据库操作,包括添加依赖、配置数据源、创建实体类和仓库接口,以及在服务层和控制器中处理 HTTP 请求。这种组合不仅简化了配置,还提供了一套强大的工具来快速开发现代 Java 应用程序。
194 0
|
3月前
|
开发框架 安全 数据库
解锁Django框架神秘面纱!从入门到实战,掌握这些技巧,让你的Web应用秒变高效神器!
【8月更文挑战第31天】Django 是 Python 的明星 Web 开发框架,以其高效、安全及可扩展性著称,适用于构建各类 Web 应用。本文从 Django 基础概念出发,介绍其 MTV 架构,涵盖模型(Model)、模板(Template)、视图(View)等核心组件,并通过示例代码展示实际应用。此外,还将探讨路由配置、管理界面及实战技巧,帮助读者全面掌握 Django,为高效 Web 开发打下坚实基础。
53 0
|
3月前
|
关系型数据库 MySQL 机器人
Django入门到放弃之数据库配置
Django入门到放弃之数据库配置
|
3月前
|
缓存 中间件 数据库
Django入门到放弃之缓存及信号机制
Django入门到放弃之缓存及信号机制
|
3月前
|
前端开发 数据库 数据安全/隐私保护
Django入门到放弃之Auth模块
Django入门到放弃之Auth模块
|
3月前
|
JSON 前端开发 数据安全/隐私保护
Django入门到放弃之CSRF_TOKEN
Django入门到放弃之CSRF_TOKEN
|
3月前
|
前端开发 中间件 索引
Django入门到放弃之中间件
Django入门到放弃之中间件