一:使用yum源安装Django的依赖包
yum -y install epel-release python3 python3-pip
二:创建一个Django的虚拟环境并且安装Django,pymysql和ipython
1,在目录/opt/下创建Django的虚拟目录
cd /opt/
python3 -m venv django
. ./django/bin/activate
2,安装ipython
pip install ipython
3,安装pymysql
pip install pymysql
4,安装Django(1.12版本)
pip install "django<1.12"
三:创建一个django项目
django-admin startproject demo
四:在django项目下创建一个应用app(demo)
cd demo
./manage.py startapp blog
五:创建app(blog)后,需要修改demo下的setting配置文件来告诉blog的存在
vim /demo/demo/settiongs.py
找到 INSTALLED_APPS = ['django .contrib.admin'......] 这项配置文件后,在其末尾加上‘blog’ 即可
如果允许所有网段访问则找到 ALLOWED_HOSTS修改为:ALLOWED_HOSTS=['*']
manage.py项目管理常用命令
查看帮助文件: ./manage.by help
创建管理员: ./manage.by createsuperuser
数据库交互界面: ./manage.py dbshell
命令行交互界面: ./manage.py shell
数据库迁移文件 : ./manage.py makemigrations
执行数据库迁移: ./manage.py migrate
创建一个应用: ./manage.py startapp
六:安装数据库mysql或者是mariadb(可以和django安装在一台服务器上,也可以安装在其他服务器上)
此处是利用yum安装mariadb,快捷方便 yum install mariadb-server -y 启动服务: systemctl start mariadb mysql_secure_installation 注意:安装过程当中若忘记自己设置的密码,编辑 /etc/my.cnf 添加 “skip-grant-tables” 然后保存退出即可 重启服务即可
七:登录数据库
mysql -uroot -p 123456(我的数据库密码)
八:创建数据库和用户
create database djangodb default charset utf8(支持中文); grant all privileges on djangodb.* to django@'%' identified by '123456';(授权)
九:修改demo中的settings配置文件
LANGUAGE_CODE = 'zh-hans' 配置为汉语 TIME_ZONE = 'Asia/Shanghai' 配置为中国时区 USE_TZ = False 配置为false,不然操作数据库时间查询会有问题
实战一个django程序
1,修改demo下的url.py 文件。规划一个URL(blog)和URL(index)对应的函数
from django.contrib import admin from blog.views import index urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^blog/$',index),
2,增加视图函数(view.py)在项目blog下
from django.http import HttpResponse def index(request): return HttpResponse(' hello world!!')
3,启动开发服务器并测试
./manage.py runserver 0.0.0.0:8000 0.0.0.0表示任意网段都可以访问,8000则表示访问端口
4,浏览器访问(ip+端口+blog 如:127.0.0.1:8000/blog)
注:上面的操作并没有使用任何模板,下面加入模板来访问
想好规划模板位置(在这里我在项目的根目录下创建了一个templates目录,在template下创建了一个blog用来存放对应的模板。方便统一管理)
1,修改settings的文件,用来告诉我的项目存放位置
2,书写模板文件(templates/blog/index.html)
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>demo</title> </head> <body> <h1> wo xi hua erha !!</h1> </body> </html> ~ ~
3,在blog应用当中的视图index函数
from django.shortcuts import render # Create your views here. def index(request): return render(request,'blog/index.html')
4,重启服务测试即可