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
2然后现在我们就来做一些初始工作,先创建一下项目django-admin.py startproject blog2,blog2是我的项目名,这里可以改成自己想要的项目名,项目里面要有应用,所以再进入刚刚创建的项目里面再创建应用 :python manage.py startapp appname,这里我是名字叫blog
__init__.py然后进入我们创建的项目包project01里面去,里面的文件的作用和意思为:
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命令对所有还未实施的迁移记录进行操作)
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
python-Django-01基础配置相关推荐
- Python的pycharm基础配置
唠叨 依据川川的步骤一番操作下来发现我的pycharm上已经配置有Python了. 前期提要:我是先学的用anaconda写Python,然后anaconda已经自带有Python,也都配置好了,所以 ...
- 【Python】01基础语法
0 学习目标 能够完成 Python 环境搭建 能够正确定义变量及查看变量类型 能够实现程序的输出和输入 能够正确使用运算符 熟练掌握流程控制语句:if.while.for(下一篇文章详细介绍) 1 ...
- python编程01 -- 基础知识
简介 本文主要对运用的python语言知识进行归纳和回顾使用,不定期更新,主要是对语言特性.数据类型.语句块.函数.类.模块.错误.线程.进程等内容的积累 python2/python3 核心类差异 ...
- 怎么检查python是否安装成功-检查python以及django是否安装配置成功
首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...
- python django restful框架_python+django+rest框架配置创建方法
安装好所需要的插件和包: python.django.pip等版本如下: 采用Django REST框架3.0 1.在python文件夹下D:\python\Lib\site-packages\dja ...
- windows下python+django+pycharm+mysql从配置到实战
Mac 基于Python搭建Django应用框架 https://www.jianshu.com/p/b2b9bf41da4f 基于Python搭建Django后台管理系统 https://blog. ...
- python django部署docker_如何Docker化Python Django应用程序
Docker是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个用 ...
- docker容器化python开发环境_如何 Docker 化 Python Django 应用程序
Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个 ...
- python setting.py_python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- Python之路【第十六篇】:Django【基础篇】
https://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django ...
最新文章
- 【攻防世界015】notsequence
- 平滑线反锯齿工具_PS大神常用选框类工具有哪些?其实很简单,小白认真学也能懂...
- OpenYurt 深度解读:如何构建 Kubernetes 原生云边高效协同网络?
- poj1050 To the Max
- pid控制器c51语言编程,51单片机电机pid控制系统程序
- ios 高德获取定位_解决ios11不支持高德地图API定位功能的方法
- java输出阶乘_Java阶乘输出
- 哈希摘要、证书、对称密钥、公私密钥应用场景梳理
- 5G在智慧农业中的实践和探索
- 【动态规划】黑熊过河
- pc端分享到微信、微博、facebook、twitter
- Zynga和StarLark庆祝《Golf Rival》面世四周年
- dell服务器系统备份软件,使用 AlienRespawn 备份 Alienware 电脑的系统
- 共享经济突围路在何方 ?共享洗衣机能否突围?
- 电视机未来会成为家庭交互中心?
- #ASM 翻译系列第二十五弹:ASM 高级知识 When will my rebalance complete
- 从应用到平台,云服务架构的演进过程
- java学习笔记-第八章:面向对象编程(中级部分)
- 《论文阅读》Bi-directional Relationship Inferring Network for Referring Image Segmentation
- redis哨兵模式-sentinel ,java客户端动态切换master
热门文章
- mysql 数据目录更改
- GridView的DataKeyNames属性 转载的
- 国内使用dropbox_通过创建费用管理器来学习使用Dropbox API
- 领导让我重构代码_领导不是由代码构成
- Embarcadero Dev C++ 中文输出乱码
- 弄懂“进程”(上):3个组成部分、4个基本特征、4个基本状态
- <论文阅读>CascadePSP: Toward Class-Agnostic and Very High-Resolution Segmentation via Global and...
- ZJU-java进阶笔记 第六周(抽象与接口)
- 监控平台zabbix高级配置
- shiro多realm验证之——shiro实现不同身份使用不同Realm进行验证(转)