1、ubuntu安装
2、虚拟环境创建
Ubuntu
pip install virtualenv
pip install virtualenvwrapper
配置ubuntu下虚拟环境工作空间
vim ~/.bashrc
export WORKON_HOME=$HOME/Virtual-Workspace
source $HOME/.local/bin/virtualenvwrapper.sh
source ~/.bashrc
mkvirtualenv [env-name] # 创建虚拟环境
mkvirtualenv [env-name] -p python路径【/usr/bin/oython3】 # 指定版本创建虚拟环境
deactivate # 退出虚拟环境
workon [env-name] # 切换虚拟环境
lsvirtualenv # 查看已经创建好的虚拟环境
rmvirtualenv [env-name] # 删除虚拟环境
3、Ubuntu安装MySQL
# 1、下载mysql数据库
sudo apt-get install mysql-server mysql-client
# 2、连接mysql,上一步创建过程中会要求输入密码,如果没有输入,下面登陆就直接回车;
sudo mysql -uroot -p
# 没有密码直接回车;
# 我的创建有密码,默认root
# 3、创建数据库
CREATE DATABASE DjangoDemo;
# 4、创建用户(user123)和密码(password123),用于登陆上面数据库
CREATE USER 'user123'@'localhost' IDENTIFIED BY 'password123';
# 给用户(user123)设置权限,使得其有全部权限
GRANT ALL ON LearnAnythingStrapi.* TO 'user123'@'localhost' IDENTIFIED BY 'password123' WITH GRANT OPTION;
# 4、保存所有更新
FLUSH PRIVILEGES;
# 5、退出
EXIT;
4、创建Django项目
django-admin startproject HelloWorld # 创建项目
cd HelloWorld # 切换到项目目录
python manage.py startapp App # 创建App工程
在settings文件中'INSTALLED_APPS'注册
python manage.py migrate # 执行迁移
python manage.py runserver # 启动工程
python manage.py runserver 0.0.0.0:8000 # 指定端口
python manage.py shell # 进入调试模式
HelloWorld/App/templates 模板文件目录,标记为模板目录
HelloWorld/templates 模板文件目录,标记为模板目录
这种方法需要在'TEMPLATES'下'DIR'中加入"os.path.join(BASE_DIR, 'templates'),",识别模板目录
urls文件路径分发
1、创建第二个工程
pyhton manage.py startapp App2 # 创建App工程
在settings文件中'INSTALLED_APPS'注册
创建App2的urls和views文件,同App1
在项目helloworld的urls中导入App2的urls
path(r'two', include('App2.urls')), # 注意要加'/',否则访问不到
创建数据库
CREATE DATABASE DjangoModel CHARSET=UTF8;
配置数据库:
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DjangoModel',
'USER': 'root',
'PASSWORD': 'root',
'PORT': '3306',
'HOST': 'localhost',
模拟mysqlclient
import pymysql
pymysql.install_as_MySQLdb()
创建模型
创建实例--url--views--
5、创建model
from django.db import models
class Person(models.Model):
p_name = models.CharField(max_length=16, unique=True)
p_age = models.IntegerField(default=18, db_column='age')
p_sex = models.BooleanField(default=True, db_column='sex')
# 类方法创建对象添加到数据库,不需要迁移
@classmethod
def create(cls, p_name, p_age=99, p_sex=False):
return cls(p_name=p_name, p_sex=p_sex, p_age=p_age)
class Meta:
db_table = 'People'
python manage.py makemigrations # 创建迁移文件
python manage.py migrate # 迁移