Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django环境搭建和开发初体验

Django环境搭建和开发初体验

作者头像
菜菜cc
发布于 2022-11-15 13:13:23
发布于 2022-11-15 13:13:23
39300
代码可运行
举报
运行总次数:0
代码可运行

搭建环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip3 install package

开发中, 使用如上命令安装, 会将包安装到/usr/local/lib/python3.6/dist-packages/下

产生的问题: 如果在一台电脑中开发多个项目使用同一个库的不同版本就无法做到

解决办法: 使用虚拟环境

安装虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip3 install virtualenv          # 安装虚拟环境
sudo pip3 install virtualenvwrapper   # 安装虚拟环境扩展包
# 安装虚拟环境扩展包的目的是使用更加简单的命令来管理虚拟环境

配置环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 在~/.bashrc或~/.zshrc中加入下面两行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

# 如果source .zhsrc报错, 则再加入下面两行
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv

创建python3虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkvirtualenv -p python3 django
# 所有的虚拟环境都位于/home/python/.virtualenvs下

查看所有虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ workon                      
django

进入虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ workon django 
(django)~

退出虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(django)~ deactivate 
➜  ~

删除虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 先退出虚拟环境再删除
➜  ~ rmvirtualenv django 
Removing django...

包操作

安装包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install 包名称

注:在虚拟环境中不可使用sudo pip install 来安装python包,这样安装的包实际是安装在了真实的主机环境上

查看已安装的python包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 两个命令都可以, 显示格式不同
# 1.
pip list
# 2.
pip freeze

安装django

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建虚拟环境django (当然这里的名字随意)
mkvirtualenv django
# 进入虚拟环境
# 安装django 1.8.2
pip install django==1.8.2

简单开发流程 (helloworld)

创建项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建项目: django-admin startproject 项目名称
django-admin startproject dj_test

该命令在项目dj_test目录下创建一个同名的dj_test子目录, 并在其子目录下生成了Django开发的默认文件,

创建成功后目录结构如下:

  • manage.py: Django用于管理本项目的命令行工具, 项目运行、数据库生成、静态文件收集等都通过该文件完成
  • dj_test/_init_.py: 表示dj_test这个目录可以被当作包使用, 其中内容为空
  • dj_test/settings.py: 是项目的整体配置文件, 用来配置Django需要用到的组件和包以及数据库等各种参数
  • dj_test/urls.py: 是项目的URL配置文件, 维护URL路由映射
  • dj_test/wsgi.py: 定义WSGI的接口信息, 用于与其他Web服务器集成

创建应用

每个Django项目可以包含多个Django应用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建应用: python manage.py startapp 应用名称
python manage.py startapp app

创建成功后目录结构如下:

  • app/admin.py: 管理站点模型的声明文件
  • app/_init_.py: 表示app这个目录可以被当作包使用, 其中内容为空
  • app/migrations/: 用于之后定义引用迁移功能
  • app/models.py: 添加模型层数据类的文件
  • app/tests.py: 测试代码文件
  • app/views.py: 定义URL响应函数

安装应用

创建完应用后, 需要安装才可以使用, 建立应用和项目之间的关联

在dj_test/settings.py中的INSTALLED_APPS元组中添加应用名称就可以完成安装

初始时项目的INSTALLED_APPS如下图:

添加应用

运行项目

在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 运行项目: python manage.py runserver ip:端口
# 可以不写IP和端口,默认IP127.0.0.1,默认端口为8000
python manage.py runserver

运行后如下图:

启动服务器后, 在浏览器中输入网址“127.0.0.1:8000”,或者按着ctrl键点击上图中标示出来的地址,可以查看当前站点开发效果

本文作者: Ifan Tsai  (菜菜)

本文链接: https://cloud.tencent.com/developer/article/2164571

版权声明: 本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
easyui常用组件
表单 日期选择(html初始化) <input name="tadminModel.birthday" class="easyui-validatebox Wdate" style="width: 370px;" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',position:{right:0,top:0}})"/> 按钮(html初始化) <a type="button" href="javascript:;" class="easyui-linkbutton" i
码客说
2019/10/22
2.4K0
easyui扩展
验证扩展 代码 /** * @author * * @requires jQuery,EasyUI * * 扩展validatebox */ $.extend($.fn.validat
码客说
2019/10/22
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)
前言 有时候我们的后台系统表单比较复杂,做过进销存或者一些销售订单的都应该有过感觉 虽然Easyui Datagrid提供了行内编辑,但是不够灵活,但是我们稍微修改一下来达到批量编辑,批量删除,批
用户1149182
2018/01/12
1.8K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)
ASP.NET MVC5+EF6+EasyUI 后台管理系统(22)-权限管理系统-模块导航制作
最近比较忙,系统难度独步增加,文章的发布速度明显比以前慢了。 由于我们已经跑通了整个系统,所有东西都回到了简单,接下来我们做模块制作也就是操作SysModule表。 首先我们来回顾一下之前的难点主要就是SysRight这个表Rightflag字段的改变,这个字段关系导航与角色组的关系显示(即有权限时候显示菜单导航,这个更新讲到授权讲到,在这里浮头一下) 所以我们操作SysModule必须更新SysRight这张表,把模块先分配给角色 所以思路已经比较明显和简单了,这里我们模块将用treegrid来做,同时也
用户1149182
2018/01/16
5.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(22)-权限管理系统-模块导航制作
ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
前言 回顾上一节,我们熟悉的了解了消息的请求和响应,这一节我们来建立数据库的表,表的设计蛮复杂 你也可以按自己所分析的情形结构来建表 必须非常熟悉表的结果才能运用这张表,这表表的情形涵盖比较多
用户1149182
2018/01/16
2.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
步骤设置完毕之后,就要设置好流转了,比如财务申请大于50000元(请假天数>5天)要总经理审批,否则财务审批之后就结束了。 设置分支没有任何关注点,我们把关注点都放在了用户的起草表单。所以本节如同设置
用户1149182
2018/01/16
1.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
ASP.NET MVC5+EF6+EasyUI 后台管理系统(80)-自由桌面
系列目录 前言 这次我们来做一个有趣的事情,有朋友跟做了很远,找我要自由桌面的代码,这次我们将演示自由桌面的代码。 自由桌面:用户可以随意增删改桌面的布局、个数(只留自己需要看到的数据),这次纯属
用户1149182
2018/01/12
1.6K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(80)-自由桌面
ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)
前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他是一
用户1149182
2018/01/12
2.6K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)
ASP.NET MVC5+EF6+EasyUI 后台管理系统(2)-easyui构建前端页面框架[附源码]
前言 为了符合后面更新后的重构系统,本文于2016-10-31日修正一些截图,文字 我们有了一系列的解决方案,我们将动手搭建新系统吧。 后台系统没有多大的UI视觉,这次我们采用的是标准的左右分栏,左边是系统菜单,右边是一个以tabs页组成的页面集合,每一个tab都可以单独刷新和关闭 开发工具 Visual Studio 2012(以上) 开始搭建 打开我们熟悉的VS创建一个空解决方案。我起了个名字叫Apps,类库命名空间将与Apps开头 如Apps.BLL,Apps.Web等命名 1. 新建MVC5.
用户1149182
2018/01/16
2.3K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(2)-easyui构建前端页面框架[附源码]
ASP.NET MVC5+EF6+EasyUI 后台管理系统(7)-MVC与EasyUI DataGrid
本节知识点 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI读取MVC后台Json数据 开始实现 我们的系统似乎越来越有趣了 首先从前端入手,开打View下面的Shared创建一个视图模版(母版页) <!DOCTYPE html> <html> <head> <title>Main</title> <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></scr
用户1149182
2018/01/16
1.7K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(7)-MVC与EasyUI DataGrid
ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四步。 开始之前先说说表的结构。 其实表Flow_Form与Flow_FormContent设计是有一个缺陷的。我总共是设置最高26个字
用户1149182
2018/01/16
2.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页。这一讲主要讲增删改查。第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下。 这讲主要是,制作漂亮的工具栏,虽然ea
用户1149182
2018/01/16
2K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
MVC5+EasyUI+EF6增删改查以及登录登出的演示
创建StudentController、 及Index视图, 在Index上按F5运行
明志德道
2023/10/21
2860
MVC5+EasyUI+EF6增删改查以及登录登出的演示
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
过了个年回来,回顾一下,我们上次讲了角色管理,我们这一次来讲将权限授权给角色,这一节也是大家比较关心的。因为我们已经跑通了整个系统,知道权限的流转,我们先来看一张图 这张图主要分要3块,角色组----
用户1149182
2018/01/16
1.2K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
ASP.NET MVC5+EF6+EasyUI 后台管理系统-分配角色给用户
由于之前做了将权限赋给角色,还需要做将角色组赋给用户,和将用户赋给角色组,一个用户可以拥有多个角色组,一个角色组包含多个用户,打开模块管理,添加一个分配的操作码 并在 角色权限设置授权给他 在SysU
用户1149182
2018/01/16
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统-分配角色给用户
ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了。而目前easyui 1.4.x的jquery的版本已经到达1.11.x以上。 本以为不能再使用这个插件,但是发现还是有
用户1149182
2018/01/16
1.8K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①
系统需要越来越自动化,我们需要引入日志记录和异常捕获 管理员的操作记录需要被记录,看出哪些模块是频繁操作,分析哪些是不必要的功能,哪些是需要被优化的。 系统的异常需要被捕获,而不是将系统出错显示出来给用户就不了了知。我们需要异常日志不断改进系统。 我们老说用户,我们还没有用户权限的表,所以我们在Home中先加入一个虚拟用户吧! 首先我们创建一个用户类AccountModel放在App.Models下的Sys文件夹下 using System; using System.Collections.Generic
用户1149182
2018/01/16
2K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(23)-权限管理系统-角色组模块
接下来我们的目标是 角色组管理 角色组权限设置 用户管理 把角色组授权给用户 给用户分配角色组 所以最少我们还要讲多5讲才能结束这个管理系统,经过之前的样例程序,我们很熟悉这个套路了,如果你很喜欢这个
用户1149182
2018/01/16
8380
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(23)-权限管理系统-角色组模块
ASP.NET MVC5+EF6+EasyUI 后台管理系统(92)-打印EasyUI 的datagrid表格
代码看起来有点复杂,但是不难看懂,提取datagrid的title和历遍数据得重新写入一个新的table
用户1149182
2018/10/08
1.5K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(92)-打印EasyUI 的datagrid表格
ASP.NET MVC5+EF6+EasyUI 后台管理系统(27)-权限管理系统-分配用户给角色
分配用户给角色,跟分配角色给用户操作是基本一致的。 打开模块维护,展开SysRole模块添加一个操作码,并赋予权限 设置好之后将权限授权给管理员,在SysRole的index添加操作码与js事件 @H
用户1149182
2018/01/16
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(27)-权限管理系统-分配用户给角色
推荐阅读
easyui常用组件
2.4K0
easyui扩展
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)
1.8K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(22)-权限管理系统-模块导航制作
5.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
2.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
1.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(80)-自由桌面
1.6K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)
2.6K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(2)-easyui构建前端页面框架[附源码]
2.3K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(7)-MVC与EasyUI DataGrid
1.7K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
2.1K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
2K0
MVC5+EasyUI+EF6增删改查以及登录登出的演示
2860
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
1.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统-分配角色给用户
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
1.8K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①
2K0
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(23)-权限管理系统-角色组模块
8380
ASP.NET MVC5+EF6+EasyUI 后台管理系统(92)-打印EasyUI 的datagrid表格
1.5K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(27)-权限管理系统-分配用户给角色
1.1K0
相关推荐
easyui常用组件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验