2019-01-02Djago搭建
djago搭建框架
创建一个虚拟环境
pip install virtualenv —> 安装virtualenv 是为了方便后面配置自定义虚拟环境
在终端中找到env文件(没有就创建一个):
mkdir 文件名 —> 创建文件夹
rmdir 文件名 —> 删除空文件
rm -rf 文件夹名 —> 删除文件夹
cd env —> 进入env文件中
然后在env里面创建个虚拟环境
virtualenv --no-site-packages -p (python版本-->可以不写) 文件名 — > 创建虚拟环境
—no-site-packages -p (python版本-->可以不写) 文件名 —> 表示创建的虚拟环境是干净的
pip list —> 查看当前用pip安装的包
创建所需要的框架
cd env/djenv7/bin —> 进入需要依赖的虚拟环境
source activate —> 激活虚拟环境
deactivate —> 退出虚拟环境
cd ~ —> 回到主目录
cd workspace —> 回到装代码的文件夹里
django-admin startproject 文件名 —> 创建项目
进入新创建的项目
pip install django==1.11 —> 下载安装为1.11版本的django
pip install pymysql —> 下载安装pymysql
Pip install pillow —> 下载安装pillow
python manage.py startapp 名字 —> 创建应用app
配置依赖环境
在PyCharm中打开项目
关联项目依赖的环境 env/环境名/bin/python3
配置环境 名字自定义
路径—> /Users/applw/wordspace/项目名/manage.py
runserver 8080 —>端口
runserver 0.0.0.0:8080. —>改访问的路径
修改配置文件
在工程目录下的init.py中写
import pymysql
Pymysql.install_as_MySQLdb()
在工程文件中的settings.py文件中修改
INSTALLED_APPS(安装应用) 里添加自己创建的app名,要每一个加完
TEMPLATES 里的‘DIRS’:[os.path.join(BASE_DIR, ’templates’)]因为没有前后分离所以模板文件要放到指定的 templates 文件中 ,所以还要在主目录下创建创建一个 templates文件夹用来装模板
导入模板文件
把所有html文件移动到templates文件中
和数据库建立连接
在工程文件中的settings.py文件中修改
DATABASES = {
‘default’:{
‘ENGINE’: ‘Django.db.backends.mysql’, —> 关联到数据库
’NAME’: ‘freshdb7’, —>数据库的名字
‘USER’: ‘root’, —>以什么身份进行连接
‘PASSWORD’: ‘123456’, —>用户的数据库密码
‘HOST’: ’127.0.0.1’, —>本地连接
‘PORT’: 3306 —> 本地端口
}
}
创建数据库
到数据库中新创一个数据库,名字是和settings.py文件中关联的数据库一样的名字,字符集是utf8
修改静态文件
在工程文件中的settings.py文件中修改
STATIC_URL = ‘/static/’ —>静态文件夹的名字
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’) —> 和静态文件关联到
]
在主目录下创建static的文件夹用来装js css等静态文件
在在下面添加一个媒体文件
MEDIA_URL = ‘/media/’ —> 媒体文件夹的名字
MEDIA_ROOT = os.path.join(BASE_DIR, ‘media’) —>和媒体文件关联
在把叫做media的媒体文件夹放到主目录下
关联其他文件 包含其他路由
from Django.conf.urls import url, include
url patterns = [
# 引入app中自己定义的路由文件urls.py
url(r’^user/’, include(‘user.urls’ ,namespace=‘user’)) —>在访问user的时候关联的是user的urls(路由)文件 ,namespace(是反向解析的时候用到的)
url(r’^carts/’, include(‘carts.urls’ ,namespace=‘carts’))
url(r‘^goods/’, include(‘goods.urls’ ,namespace=‘goods’))
url(r‘^order/’, include(‘order.urls’ ,namespace=‘order’))
)
]
在自己添加的每个app文件中添加路由关联(carts,goods,order)
from django.conf.urls import url
Urlpatterns = [] —>先定义个框架可以先不填写路由
导入模型
分别把对应的数据库模型导入到对应的app文件的models.py中,然后导入对应的包
迁移模型
python manage.py makemigrations 生成迁移文件
python manage.py migrate 进行迁移