安装虚拟机
查看Python的版本(python)
切换到Python3( python3)
查看pip在Python3的命令 ( pip3 list)
安装Python3的pip( sudo apt-get install python3-pip)
安装虚拟机( pip3 install virtualenv)
豆瓣源安装虚拟机( pip3 install -i https://pypi.douban.com/simple/virtualenv)
进入( cd /home/chu/.local/bin/)
安装移动( mv virtualenv /usr/local/bin/)
创建虚拟环境
虚拟环境(virtualenv xxx -p/usr/bin/python3)
进入虚拟环境
- cd xxx/
- cd bin/
- ls
- source activate
创建一个工程
安装django( pip install django==1.11.7)
开启一个django项目 (django-admin startproject XXX)
测试django项目环境 (python manage.py runserver)
开启自己的App(python manage.py startapp XXX)
- 需要在setting 里面的INSTALLED_APPS里加上自己的app名字
安装MySQL
- sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysqlclient-dev
安装驱动(pip3 install pymysql)
在__init__l里面导入MySQL
- import pymysql
pymysql.install_as_MySQLdb()
创建一个数据库
- mysql -u root -p;
- create database one charset=’utf8’;
- show databases;
在setting里配置
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'one',(数据库名)
'USER': 'root',(后台登录名)
'PASSWORD': 'rootroot',
'HOST': 'localhost',
'PORT': '3306',
}
}
- 改中文,在setting里面
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
数据迁移
python manage.py makemigrations
python manage.py migrate
设置全网访问
指定端口访问
- 获取本机IP(ifconfig)
- 在settting里找到ALLOWED_HOSTS = [ ]
[ ]加上本机的IP,指定让谁访问 - python manage.py runserver 8008
后面加上自己指定的端口号
让所有IP都访问(局域网内)
- 获取本机IP(ifconfig)
- 在settting里找到ALLOWED_HOSTS = [ ]
[” * “] 让所有人都访问 - python manage.py runserver 0.0.0.0:8000
(0.0.0.0是必须的,8000是自己指定的端口号)
开启一个简单的页面
- 1, 在创建的APP里打开views,建立自己的视图函数
def welcome(request):
return render(request,'welcome.html')
2, 在APP里创建一个templates的包,专门放自己的HTML显示页面
3, 在APP里创建一个urls.py的包。写自己的路径
urlpatterns = [
url(r'^welcome',views.welcome),
]
- 4, 把自己APP的路径配置到总的urls路径里面
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/',include('myapp.urls')),
]
5, 运行程序,运行程序时注意路径,写到底
6,但是实际项目中,我们需要把templates分离出来,这样好管理
只需要把setting里面的TEMPLATES 的路径加上就可以,
‘DIRS’: [os.path.join(BASE_DIR,’templates’),],
其他部分不用动