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的一些最基本的配置就到这里。
python-Django-01基础配置的更多相关文章
- Django项目基础配置和基本使用
博文配置内容包括: django项目的创建 django项目下应用的创建及配置 数据库的配置 templates模板的配置 命令行创建项目: 在需要的目录下创建Django项目输入命令:django- ...
- hadoop生态搭建(3节点)-01.基础配置
# 基础配置# ==================================================================node1 vi /etc/hostname nod ...
- python+Django+apache的配置
下载安装xampp套件 下载mod_python-3.3.1.win32-py2.5-Apache2.2.exe 下载python-2.5.4.msi 下载Django 下载MySQL-python- ...
- Python Django的安装配置
学习Django前,我们要确定电脑上是否已经安装了Python,目前Python有两个版本,不过这两个版本并不互相兼容,所以根据个人选择合适的版本. 因为从Django2.0开始将不再支持Python ...
- python+django+pycharm 环境配置 (window7)
一.python环境配置 登录python官网,下载windows版的python,本项目使用32位的python2.7.6,下载地址: http://www.python.org/ftp/pytho ...
- Python django 404页面配置和debug=false 静态文件配置 django版本1.10.5
django设置404页面 1.设置settings文件 DEBUG = False ALLOWED_HOSTS = ['127.0.0.1', 'localhost']或者 ALLOWED_HOST ...
- 使用 Python 管理 Azure:基础配置
Azure 提供了丰富的 Python SDK 来对 Azure 进行开发管理,包括使用 Azure 的开源框架在 Azure 上创建 web 应用程序,对 Azure 的虚拟机,存储等进行管理,本系 ...
- python - Django 跨域配置
一:settings 中间件配置路径 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.s ...
- python django 基本环境配置
创建虚拟环境: python -m venv django启动虚拟环境: .\venv\Scripts\activate下载django: pip install django查看django命令: ...
- python - django (logging 日志配置和简单使用)
1. settings 配置 # 配置日志 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 's ...
随机推荐
- sql backup
create or replace procedure P_updateasbegin update security_price p set p.closing_price = (select MI ...
- "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
windows系统日志错误信息: Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 W ...
- 单元测试使用spring注解获取bean
在实际项目开发中经常会有单元测试,单元测试中经常会用类似这样的代码片段获取spring管理的bean @Test public void testSendEmail(){ MessageService ...
- linux 管道符与通配符
###管道符 *命令格: 命令1 | 命令2 //命令1的正确输出作为命令2的操作对象 ll | more netstat -an | grep xxx 通配符 类似于正则表达式 ? 一个以上 [] ...
- PYthon end
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符. # -*- coding:utf-8 -*- count = 1 while count <=5: i=1 while ...
- (转)Silverlight调用的JS方法返回对象数组的处理方法
最近在做Silverlight应用,需要用Silverlight调用页面中Javascript方法.这 个JS方法返回一个对象数组给Silverlight.对于这个对象数组怎么在Silverlight ...
- LibreOJ #2006. 「SCOI2015」小凸玩矩阵 二分答案+二分匹配
#2006. 「SCOI2015」小凸玩矩阵 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 互斥量mutex的简单使用
几个重要的函数: #include <pthread.h> int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pt ...
- libpcap 库使用(三)
1.为了使收到的报文尽快给我们的处理程序,需要设置成immediate模式: int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);
- MySQL5.7的安装(CentOS 7 & Ubuntu 16.04)
CentOS 通过 yum 安装MySQL5.7 Yum Repository 下载地址:https://dev.mysql.com/downloads/repo/yum/ 选择相应的版本进行下载:R ...