当前位置: 首页 > 编程日记 > 正文

python-Django-01基础配置

参考资料地址 http://www.ziqiangxuetang.com/django/django-install.html

官方文档

一:

1先下载Django源码包,下载地址https://www.djangoproject.com/download/

然后下载自己想安装的版本

Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.

Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X

Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了)

Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5.  (长期支持版本 LTS)

Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了

Django 1.10.x 支持 Python 2.7, 3.4 和 3.5.

Django 1.11.x 下一个长期支持版本,将于2017年4月发布

更详细的可以参考这里,一般来说,选择长期支持版本比较好。

使用最新版本的问题就是,可能要用到的一些第三方插件没有及时更新,无法正常使用这些三方包。

如果是学习,可以选择目前的 Django 1.8.x 来进行,遇到问题也容易找到答案。

当然如果需要新版本的功能也可以使用新版本,毕竟 Django 1.9 以后admin界面还是更漂亮些

我这里选择的是1.10,运行环境是kali,下载好了的话就进到你下载的安装包的位置,然后

解压tar -xvf Django-1.10.tar.gz
然后切换到当前目录cd Django-1.8.17
安装python setup.py install
或者直接pip安装
然后检查一下有没有安装成功

2然后现在我们就来做一些初始工作,先创建一下项目django-admin.py startproject blog2,blog2是我的项目名,这里可以改成自己想要的项目名,项目里面要有应用,所以再进入刚刚创建的项目里面再创建应用 :python manage.py startapp appname,这里我是名字叫blog

然后进入我们创建的项目包project01里面去,里面的文件的作用和意思为:__init__.py

Django项目是Python包,这个文件是用来告诉Python这个文件夹当做一个包。在Python术语中,包是一组模块的集合,主要用来把相似的文件分组,防止出现命名冲突。

manage.py

这是另外一个有用的脚步用来管理你的项目,你可以把它看做是你项目的的django-admin.py版本,其实,manage.py和django-admin.py是共用相同的后台代码。

settings.py

这是Django项目的主要配置文件,在这个文件里面,你可以具体说明很多选项,包括数据库设置、网页语言、需要turn on的Django功能。

urls.py

这是另外一个配置文件。你可以把它看做是介于URLS和用来处理它们的Python方法之间的匹配

里面的settings.py是我们当前的工程的配置文件,我们得编辑settings.py这个文件进行修改一下一些配置

主要的一些修改暂时就这些,不过,其中的数据库的一些配置得说一下,django默认的是所用sqlite3,而我linux下用的是mysql,如果也是mysql的话,我们要修改一下配置,但是在配置之前如果是要下载python的数据库模块MySQLdb,而1.10的话,想用mysql数据库的话,要连接mysql数据库而不使用SQLite,那么首先你必须得安装pymysql模块,python3.5版本不再支持MySQLdb模块!下载之后再去你项目目录那里的__init__.py里面添加模块才可以用

import pymysql

pymysql.install_as_MySQLdb()

,

可以发现,我把第3行的运行数据库sqlite3换成运行mysql,name是在我们要用的数据库名字,user是数据库用户,password是数据库用户密码,host是数据库在本地运行,port是端口号

我们的工程的一些基本的配置到这里了就差不多好了。

二:

1.上面只是创建了工程的基本的配置,而且也创建了应用了,现在就要配置一下应用项目的部分了

2.进到项目里面要把我们添加的应用项目添加到配置文件settings.py里面去,在最后添加,这里我的创建的应用名称为blog,记得,号结尾。

3.在项目目录进到urls.py这个文件下,这个文件就是url configure file,现在在这里面添加一条url访问,在这里创建url访问,就会自动的映射到应用blog下的views.py这个文件里面去。映射之后呈现出来的东西是什么,这就得我们自己去写了,现在就到views.py这个文件里面写

而我的之前1.8写法是

1.10都是这样,简约又方便,先在项目里面写

blog和comments是我的应用名,然后再到应用里面建一个urls.py文件,写上

其中app_name = 'blog' blog是我的应用名,urlpatterns里面是路由规则

进到views.py编辑一下内容

然后要同步一下数据库

python manage.py syncdb,在这里你也可以顺便设置一下后台管理员(1.8还可以用,1.10已经去掉这条命令了)
注意:Django 1.7.1及以上的版本需要用以下命令
python manage.py makemigrations(migrations的功能非常强大,允许你随时修改你的模型,而不需要删除或者新建你的数据库或数据表,在不丢失数据的同时,实时动态更新数据库)
python manage.py migrate(migrate命令对所有还未实施的迁移记录进行操作)
python manage.py createsuperuser (创建后台管理员)

4.因为django自带了一个开发服务器,所以只要运行 manage.py这个管理工具包就可以启动开发服务器了

然后点浏览输入网址,这里他会提醒我们输入127.0.0.1:8000这个是默认的,但是输入的时候有可能会发现不可以,他还会提醒我们这样的信息是因为我们的url定在blog/index下,输入在8000后面输入/blog/index就可以了。

这个时候会发现我的服务器会生成相关信息

而1.10是这样的

但是到了这一步,如果会输错的话,原因有可能是之前的配置错了,如果没配置错还会报错的话,可以有以下原因

数据库有没有同步,数据库名字有没有和settings.py里面你定义的数据库名称一样?在创建应用的时候有没有进入项目再创建,url有没有写错。

然后配置一下后台管理,1.10的后台管理比之前的版本比较好看。

用1.8版本的./manage.py createsuperuser 创建用户 1.10 python3 manage.py createsuperuser创建之后运行服务器./manage.py runserver 或者python3 manage.py runserver之后输入网址127.0.0.1/admin进入管理后台,直接输入名字密码之后就可以进入,默认进入的话只有认证和授权这栏,但是在应用里面的models.py和admin.py添加一些代码的话就可以很丰富增加后台的功能,并在views视图里面将后台的内容比如是文章显示出来的话,就是很接近博客了。

以1.8的为列

里面我们写的class,都会继承django.db.models.Model,每一个模型都会有一些类变量,在模型里面每一个类变量都代表了数据库中的每一个字段,然后每一个字段通过Field类的一个实例表示,比如字段CharField和日期字段DateTimeField,这个方法告诉django每个字段里保存着什么类型的数据,每一个field实例的名字就是字段的名字,并且要是机器可读的格式,也就是我的代码里面的类和实例写什么,我的数据库的的表名和列名就是什么
class User(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
然后修改保存修改好的数据库内容是./manage.py makemigrations xx xx是你的应用名
./manage.py migrate 是创建模式所对应的表
登陆的时候发现什么都看不见的话,是因为应用没有显示在管理站点的首页面上,在admin里面修改,app里面的admin.py修改,修改的时候导入一下model的类名,比如上面的User,就可以这样写
from .models import User #导入model里面的模块
class UserAdmin(admin.ModelAdmin):#创建模型管理对象class,然后把该对象class名作为第二个参数传入admin.site.register()
user=('username','password')要显示的内容,前提是model里面有的,不写这条的话就默认显示每一个对象的str()返回的内容
admin.site.register(User,UserAdmin)#告诉管理站点User对象要有一个管理界面

django的一些最基本的配置就到这里。

转载于:https://www.cnblogs.com/wudongyu/p/6558199.html

相关文章:

linux进程 网络占用率,linux CPU SI软中断比较占用率比较大(网络解决方案)

https://my.oschina.net/323148/blog/724408irq 默认linux自动启动的,但是往往它自己控制不是很好(CPU SI经常某个CPU占用大)通常碰到大流量的,通常我们会把自动启动的irqblance关闭,然后手动指定一下IRQ进行优化:看CPU的 si利用率…

android设备未指定怎么办,APKpath未指定为模块“示例 – 示例”

退出Android工作室 。 用pipe理员权限启动它。这解决了Windows 7中的 Android Studio v0.1的问题。我有同样的问题,我没有select 2个文件,然后收到错误"ERROR: APK path is not specified for module"我刚刚重新启动Android Studio并重新打开该…

链表 -- 双向循环链表(线性表)

1,双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循…

开发脚本自动部署及监控

1.编写脚本自动部署反向代理、web、nfs; 要求: I、部署nginx反向代理三个web服务,调度算法使用加权轮询; #!/bin/shngxStatusps aux | grep -v grep |grep -c nginxfunction ngxProxyInstall() { if [ -e /usr/sbin/nginx ];the…

服务器日志显示乱码,CentosOS 6.5 服务器 控制台输出中文乱码,日志打印中文也乱码...

系统是Centos 6.5使用localeLANGen_US.UTF-8LC_CTYPE"en_US.UTF-8"LC_NUMERICzh_CN.UTF-8LC_TIME"en_US.UTF-8"LC_COLLATE"en_US.UTF-8"LC_MONETARYzh_CN.UTF-8LC_MESSAGES"en_US.UTF-8"LC_PAPERzh_CN.UTF-8LC_NAMEzh_CN.UTF-8LC_ADDR…

go linux 源码编译环境,Linux 源码安装 GO 环境

Go 安装1.4以上的版本出现的问题个人在安装 go1.9.2 的时候,一直 提醒的错误是:Building Go bootstrap tool.cmd/distERROR: Cannot find /root/go1.4/bin/go.Set $GOROOT_BOOTSTRAP to a working Go tree > Go 1.4.步骤如果之前已经安装过老版本的 G…

django html数据库连接,Django数据库连接的问题

多线程运行项目。有N个工作线程从DB中获取jobs,并把结果写回DB。项目运行一段时间后,发现数据库连接耗尽了,幸好内存大,然后一直往上调,最后连接数都上8000多。耗尽连接数的时候,postgresql会出现类似这样的…

Java Web之XML基础

有好几天没有更新博客了,前段时间因为要开学了,需要凑足学费才能继续在学校学习,耽误了几天,这两天需要补充前面需要学习的一些知识点了。今天就开始进入JavaWeb阶段吧,这段时间我们需要了解一些前端的知识&#xff0c…

ios NSLayoutConstraint

为了让我们的应用在不同尺寸的屏幕下都能 “正常”的表示,我们尽量不要把数据写死。大多数可视元素都是一个矩形区域,当然这个矩形区域有坐标的,我们有了这个区域坐标就能确定可视元素的现实位置了。但是iphone5和以前的屏幕不一样了&#xf…

分布式技术追踪 2017年第十二期

分布式系统实践 1. 深入Facebook图数据库系统(TAO)系列 http://dwz.cn/5zQEdo http://dwz.cn/5zQEBK http://dwz.cn/5zQEPV 摘要: TAO是Facebook 的分布式图数据库, 存储了Facebook所有的社交关系数据, TAO的QPS超过30亿, 作者曾经在Facebook做过TAO相关…

linux 统计日志数量总,shell统计日志中时间段内匹配的数量的方法

shell统计日志中时间段内匹配的数量的方法,有需要的朋友可以参考下。假设日志文件mtasvr.log格式如下:T:24583088(04:02:06)[root:Info] 6KqowLDLAgC93DFIKrENAA.41S2:from,to, queuedT:122428336(13:36:51)[root:Info] 6KqowLAbAAByYzJIZGsOAA.2W:from,…

商品评论html,商品评论列表.html

提交取 消new Vue({el: #app,data: {fullLoad:,dialogVisible:false,jsonData:{"id":"","type":"edit","list":[{"type":"grid","icon":"icon-grid-","columns":[{"…

autolayout autoresizing

WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门 这是博主的WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里。如果您是首次来到本站,也许您会有兴趣通过RSS,或者通过页面左侧的邮件订阅的方式订阅本站。 AutoLayout…

MongoDB安装和MongoChef可视化管理工具的使用

MongoDBWindows 用户向导:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/注意:最后一步时,左下角的勾勾要去掉,mongodb compass是图形化管理界面,下载它需要很久很久,还有可能一直…

angular轮播图

还是直接上代码比较好 <!doctype html><html lang"en"><head> <meta charset"UTF-8" /> <title>Document</title> <link rel"stylesheet" type"text/css" href"css/animate.min.css"…

linux 脚本的作用,shell export 作用

shell与export命令用户登录到Linux系统后&#xff0c;系统将启动一个用户shell。在这个shell中&#xff0c;可以使用shell命令或声明变量&#xff0c;也可以创建并运行shell脚本程序。运行shell脚本程序时&#xff0c;系统将创建一个子shell。此时&#xff0c;系统中将有两个sh…

标签选择器用于修改html元素默认的样式,html – 为什么CSS选择器与 sign(直接子)覆盖默认样式?...

问题不是子组合器(>)&#xff0c;它是color属性&#xff0c;它是可继承的。虽然颜色属性的初始值因浏览器而异&#xff0c;但继承是常见的。这意味着元素的文本颜色从父代继承。您在代码中看到这一点。相反&#xff0c;border属性是不可继承的。请注意&#xff0c;与文字颜色…

[hdu1828] Picture

帅哥美女们大家好&#xff01; 今天本蒟蒻补一篇题解&#xff01; 线段树维护扫描线求矩形周长并。 扫描线的话&#xff0c;跟求面积类似&#xff0c;这道题可以只扫一次&#xff0c;也可以x&#xff0c;y两个方向分别扫一次。 题目传送门 1 #include<cstdio>2 #include&…

洛谷 P2126 Mzc家中的男家丁

题目背景 &#xff4d;&#xff5a;&#xff43;与&#xff44;&#xff4a;&#xff4e;的…还没有众人皆知&#xff0c;所以我们要来宣传一下。 题目描述 &#xff4d;&#xff5a;&#xff43;家很有钱&#xff08;开玩笑&#xff09;&#xff0c;他家有&#xff4e;个男家丁…

linux如何查看内存最大的几个文件,详解Linux如何查看当前占用CPU或内存最多的几个进程...

命令ps -aux | sort -k4nr | head -N命令详解&#xff1a;1、head&#xff1a;-N可以指定显示的行数&#xff0c;默认显示10行。2、ps&#xff1a;参数a指代all――所有的进程&#xff0c;u指代userid――执行该进程的用户id&#xff0c;x指代显示所有程序&#xff0c;不以终端…

ios 真机调试

步骤&#xff1a; 一、真机调试所需材料说明二、进入申请界面三、添加App ID四、添加设备(Devices)五、添加证书(Certificates)六、添加描述文件(Provisioning Profiles)七、配置XCode 一、真机调试所需材料说明 在申请真机调试证书之前&#xff0c;先对苹果真机调试所需的文件…

html 表单内容怎么获取不到,jquery中formdate一直获取不到对象中的[0]的值 包括本身也是一个空的数据怎么办?...

jquery中formdate一直获取不到对象中的[0]的值 包括本身也是一个空的数据怎么办&#xff1f;再做一个前台的ajax方法 查网上用formdate方法上传。可是进了接口之后一直在控制台获取不到formdate的值包括formdate[0]的值也一样 接口应该是没有问题 因为用传统的表单submit提交也…

看雪CTF 2016_第八题分析

用exeinfo查看发现是x64程序&#xff0c;所以用平常的OD调试器是调试不到的&#xff0c;需要用x64的调试器 我这里是用x64dbug 这个调试器来进行调试分析 经过一步一步调试&#xff0c;发现程序调用RtlMoveMemory 这个api来进行获取我们输入的注册码 Rax的内存地址即为我们输入…

20169212 2016-2017-2 《网络攻防实践》第四周学习总结

20169212 2016-2017-2 《网络攻防实践》第四周学习总结 教材学习中的问题和解决过程 wireshark学习 主机&#xff1a;Kali ip&#xff1a;192.168.1.117 目标&#xff1a;www.bdwm.net 任务&#xff1a;捕获连接 www.bdwm.net的输入信息 利用wireshark可以清楚的看到发包的全过…

linux7挂载ntfs分区,刚安装centos7,请教大神如何挂载ntfs的分区

liangbenrang 于 2015-12-22 17:39:08发表:2、关于AS服务器Redhat5、6 CPU性能低问题&#xff0c;建议做如下调整&#xff1a;关于AS服务器Redhat5、6 CPU性能低问题&#xff0c;建议做如下调整&#xff1a;服务器BIOS设置(不同型号服务器设置方法不太一样)&#xff1a;cpu关闭…

UIViewController、UINavigationController与UITabBarController的整合使用

UINavigationController与UITabBarController是iOS开发中最常用的两种视图控制器&#xff0c;它们都属于UIViewController的子类&#xff0c;继承关系如下&#xff1a; interface UITabBarController : UIViewController <UITabBarDelegate, NSCoding> interface UINav…

小学生正确使用计算机,小学生做数学作业用计算器的做法正确吗?为什么?

用计算器做数学题是一种偷懒的做题方法&#xff0c;不知道现在的数学课本上还有没有计算机教学这一章节的内容&#xff0c;学习使用计算器也是学习内容之内的&#xff0c;但是计算器是用来解决那些较复杂的数字运算的&#xff0c;基本的四则运算还是不要用计算器&#xff0c;尽…

【php】 PHP 支持 9 种原始数据类型

PHP 支持 9 种原始数据类型。 四种标量类型&#xff1a; boolean&#xff08;布尔型&#xff09;integer&#xff08;整型&#xff09;float&#xff08;浮点型&#xff0c;也称作 double)string&#xff08;字符串&#xff09;三种复合类型&#xff1a; array&#xff08;数组…

linux安装vsftpt服务,centos安装vsftp服务.md

# 使用nginx和vsftp搭建图片服务器并使用Java上传图片到该图片服务器## 安装vsftp1、首先&#xff0c;安装vsftpdshellyum -y install vsftpd复制代码2、验证是否安装成功shellrpm -qa vsftpd复制代码3、查看vsftp相关配置文件shellll /etc/vsftpd/复制代码vsftpd.conf文件是主…

android support v4、v7、v13

android support v4、v7、v13的区别及作用和用法 1, Android Support V4, V7, V13是什么? 本质上就是三个java library。 2, 为什么要有support库? 如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support 3, 三个Support 库的…