Python3学习之二Django搭建
严格来讲,这篇应该是前一篇 的续集吧,这也属于环境搭建:搭建一个Web开发环境。
1,官网下载最新的Django,当前最新的是1.8.2。所以我就下的这个版本,下载下来的是一个gz包Django-1.8.2.tar.gz,其实不管是Windows7还是CentOS7都可以下载这个版本,解压出来就可以了。
我是将其解压到了Python34的安装目录下面。然后在命令行下执行:
Python setup.py install
自动安装完之后。转到Scripts. 然后创建一个project 来感性认识一下
python django-admin-script.py startproject mysite cd mysite python manage.py runserver 2222
最后一行如果不输入端口号2222,那么Django就会默认使用8000.
浏览器中打开来测试观察一下
根据浏览器的提示,输入
python manage.py startapp blog
来创建一个应用app,即blog。由于我们这个应用是在mysite这个project下面,所以我们可以打开mysite下面的urls.py文件进行url设置,这个跟mvc的 路由很相似。在urls.py里面加上一句
url(r'^blog/index$', 'blog.views.index'),
这就告诉浏览器,如果有人输入的url是blog/index那么就给我定向到blog目录下的views.py文件里的index方法去。所以接下来我们就到blog目录下的views.py里面加入
from django.http import HttpResponse # Create your views here.
def index(req):
return HttpResponse('<h1>Hello,World.</h1>')
启动
python manage.py runserver 2222
在浏览器中看到的效果。
但是,
上面是直接写出来的,真实情况下不可能每次都来改这个方法,所以Django有了template的概念。
根据约定,所有的 template应该保存在应用app下的templates目录下面,所以在blog\templates哪里创建一个index.html文件。内容就简单的输入
<!DOCTYPE html>
<html>
<head>
<title>first Django</title>
</head>
<body>
<h1>Hello,World. --from template.</h1>
</body>
</html>
然后将 views.py里的index方法进行更改
from django.http import HttpResponse
from django.template import loader,Context # Create your views here.
def index(req):
t=loader.get_template('index.html')
c=Context({})
return HttpResponse(t.render(c))
当然还有一种方法就是
from django.shortcuts import render_to_response def index(req):
return render_to_response('index.html',{})
这个时候,如果就启动然后浏览器测试的话,就会告诉你说找不到template文件。解决方法是用Django 自带的一个后台管理系统来添加blog应用,也就是打开mysite/mysite/settings.py 文件,在INSTALLED_APPS块的最后面加上blog. 如
# Application definition INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog'
)
然后再次启动就可以看到我们内容了。
总结一下:
1,python setup.py install
2,python django-admin.py startproject mysite
3,python django-admin.py startapp blog
4,vim settings.py
add app: blog
5,vim urls.py
url(r'','blog.views.index')
6,vim blog/views.py
from django.http import HttpResponse def index(req):
return HttpResponse('<h1>Hello,World</h1>')
7,python manage.py runserver 2222
2,CentOS7
同样官网下载 Django-1.8.2.tar.gz包,然后解压并使用自动安装命令
python setup.py install
这里需要特别说明的,由于我在上一篇文章中升级了Python 至3.4.3版本,但其它的相关的一些却是没有升级,然后发现yum也不能用,baidu,bing找了一些网页发现是解决不了问题, 因为我在安装rpm的时候,说是没有其依赖项,但是这些依赖项又要用yum去安装,这就陷入了一个死局了。于是我只好又退回来了使用自带的2.7.5版本。退回来之前我先用
whereis python
找到2.7.5的路径,然后执行
ln -sf /usr/bin/python2. /usr/bin/python
这样我们就可以使用
#1,创建project,并更改setting.py和urls.py
django-admin startproject mysite cd mysite/ cd mysite/ vim settings.py
vim urls.py cd .. #2,创建应用程序app django-admin startapp blog cd blog/
##2-1,为应用程序创建模板
mkdir templates cd templates vim index.html
##2-2,为模板创建调用方法
cd .. vim views.py
#3, 启动开发服务器
cd ..
python manage.py runserver 2222
simple_django_sample
浏览器看到我们自制的模板。
至此,我们使用了MTV的VT了,但还没有使用M. 接下来使用Model. 但使用Model之前,由于我是minimal安装的CentOS7,需要手动安装mysql. 且先看我的mysql 安装步骤。
CentOS7的yum源中默认是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。 3. 安装mysql $ yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码。 4. 登录 $ mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为root: $ chown -R root /var/lib/mysql
然后,重启服务:
$ systemctl restart mysqld.service
setup_mysql5.6.25_Community_Server
参考学习网站
Python3学习之二Django搭建的更多相关文章
- Python学习笔记24:Django搭建简单的博客站点(二)
上一节说道怎样使用Django创建并执行一个项目.这节说怎样加入一个博客应用. 一 项目跟应用的关系 在加入应用之前,先来看看项目与应用之间有什么不同之处呢? 项目是针对一个特定的 Web 站点相关的 ...
- 【Python3学习】Python环境搭建
以前电脑上安装过一个python2的环境,这次由于项目跟其他团队人员对的时候,人家的是python3,因为python2也没怎么学,所以对里面还是很不了解的. 所以今天就重新开始python3的学习, ...
- python3学习笔记二(注释、缩进)
注释 单行注释,用#开头即可 多行注释,用''' ''' 或""" """ 缩进 python不能像其他语言一样采用{}或者begin... ...
- Mybatis-Plus 实战完整学习笔记(二)------环境搭建
第二章 使用实例 1.搭建测试数据库 -- 创建库 CREATE DATABASE mp; -- 使用库 USE mp; -- 创建表 CREATE TABLE tbl_employee( ...
- Python3学习(二)-递归函数、高级特性、切片
##import sys ##sys.setrecursionlimit(1000) ###关键字参数(**关键字参数名) ###与可变参数不同的是,关键字参数可以在调用函数时,传入带有参数名的参数, ...
- Activity 学习(二) 搭建第一个Activity流程框架
本次示例使用的IDER测试完成 测试背景 : xx饿了去饭店吃饭 需要先和服务员点餐 点完餐后服务员将菜品传递给厨师制作 制作完成后吃饱 一 :创建流程图 创建上一篇测试成功出现的BpmnFil ...
- Spring Boot学习(二)搭建一个简易的Spring Boot工程
第一步:新建项目 新建一个SpringBoot工程 修改项目信息 勾选项目依赖和工具 选择好项目的位置,点击[Finish] 第二步:项目结构分析 新建好项目之后的结构如下图所示,少了很多配置文件: ...
- Django搭建博客网站(四)
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...
- AspectJ基础学习之二搭建环境(转载)
AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...
随机推荐
- cf D. Maximum Submatrix 2
http://codeforces.com/contest/376/problem/D 题意:给你一个矩阵,可以随意排列n行的次序,然后找出全部含有1的子矩阵.输出1的个数. 思路:c[i][j]表示 ...
- LayerDrawable 资源
与 StateListDrawable 有点类似,LayerDrawable 也可包含一个 Drawable 数组,因此系统 将会按这些 Drawable 对象的数组顺序来绘制它们,索引最大的 Dra ...
- 开放计算平台——数据仓库(Hive)权限控制
平台数据仓库使用Hive进行构建,通过调研决定使用“SQL Standards Based Authorization in HiveServer2”对用户提交的SQL进行权限控制,也可根据实际情况选 ...
- Java高级特性之反射学习总结
老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值 一. 什么是反射? 二.反射能做什么? 一. 什么是反射? 用在Java身上指的是我们可以于运行时加载.探知.使用 ...
- ubuntu环境配置
网络配置 主要文件:/etc/network/interfaces,这里是IP.网关.掩码等的一些配置: # This file describes the network interfaces av ...
- 中国四大资产管理公司 ACM
一,来历和主要业务 国家于1999年成立了四家直属国务院的资产管理公司:中国东方资产管理公司.中国信达资产管理公司.中国华融资产管理公司.中国长城资产管理公司.由于资产公司一般是是为适应体制转轨或防范 ...
- css文本超出2行就隐藏并显示省略号
之前在网上看到过这样的代码,感觉有的时候还是挺有用的,故留个笔记. display:-webkit-box; //将对象作为弹性伸缩盒子模型显示. -webkit-box-orient:vertica ...
- hp-ux-ia64:jffi/ffi 编译总结
在HP-UX-IA64下编译JFFI及FFI遇到很多问题,官网jffi文档中也并没有在hp-ux-ia64平台上有编译过. 次文档仅为记录之用.记录编译过程,但并不意味着本人遇到的问题已经解决. 注意 ...
- Hibernate 入门的第一个程序
一. Hibernate介绍 Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案.ORM方案的思想是将对象模型表示的对象映射到关 ...
- SVN在Android Studio中的配置
在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同Android Studio没有提供单独的插件,只能和SVN客户端关联使用,和Eclipse安装有很大区别,下面介 ...