django项目环境搭建

查看linux版本

查看linux版本指令:lsb_release -a
本次开发使用ubuntu 16.04,老师建议使用ubuntu 18

创建虚拟环境

创建新的python虚拟环境:mkvitualenv -p /usr/bin/python3 envname
进入虚拟环境:workon envname
退出虚拟环境:deactivate

安装django

进去虚拟环境后
安装django:pip install django==指定版本号,不填默认安装最新
最好安装2.1.7,2.2版本对于mysql的支持需要安装依赖包

查看django版本:python -m django --version
另一种查看django的指令:pip freeze

初始化git仓库和简单操作

安装git:sudo apt-get install git
查看git版本:git --version
创建文件夹作为git仓库:mkdir 文件夹名称
进入文件夹进行git初始化:git init
初始化后产生一个.git的隐藏文件可以通过 ll 或者 ls -al 查看

在仓库文件夹中配置一个用户到 .git/config 文件中
仓库根目录中配置用户信息:git config user.name ‘用户名’
配置用户邮箱 git config user.email ‘用户邮箱’

根目录创建一个py文件:vim test100.py
查看git仓库状态:git status

(django_item) ubuntu@VM-0-17-ubuntu:~/mygit$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        test100.py

nothing added to commit but untracked files present (use "git add" to track)

将仓库文件从工作区提交到git跟踪文件中:git add 文件名 git add .为添加当前目录所有文件

执行完后再查看仓库状态:

(django_item) ubuntu@VM-0-17-ubuntu:~/mygit$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   test100.py

加入跟踪后可以将文件提交到暂存区:git commit -m ‘填写提交的描述信息’ 1

提交到暂存区后可以修改test100.py文件,修改后查看git状态,记录了文件被修改

(django_item) ubuntu@VM-0-17-ubuntu:~/mygit$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   test100.py

no changes added to commit (use "git add" and/or "git commit -a")

在暂存区文件可以撤回对文件的修改:git checkout 文件名

将文件删除:git rm 文件名

码云创建项目和本地同步

第一步:码云创建一个仓库

在这里插入图片描述
第二步:本地创建公私钥
在linux中创建ssh公钥:ssh-keygen 一路回车创建好
创建的ssh目录在执行该命令的目录
创建好的公钥文件路径:cd .ssh

ubuntu@VM-0-17-ubuntu:~$ cd .ssh
ubuntu@VM-0-17-ubuntu:~/.ssh$ ls
authorized_keys  config  id_rsa  id_rsa.pub

第三步:将本地的id_rsa.pub公钥内容保存到个人gitee账户中:
设置–>安全设置–>ssh公钥

第四步:复制ssh克隆路径,在克隆到本地
在这里插入图片描述
克隆gitee上的仓库:
git clone git@gitee.com:lindanchun/my_website.git

django项目创建和配置

第一步:使用pycharm创建django项目

需要注意的地方:
1.解释器需要选择到创建的虚拟环境的解释器
2.映射目录为gitee仓库克隆到本地的目录,项目也创建在里面
3.配置django server启动器,HOST修改为0.0.0.0
在这里插入图片描述
4.在主app中的settings修改:ALLOWED_HOSTS = [’*’]

第二步:创建数据库连接

1.使用root登录数据库,创建一个新的数据库

mysql> create database my_website charset=utf8;
Query OK, 1 row affected (0.01 sec)

mysql> 

2.创建一个用户,并授权操作该数据库:
创建用户:
create user 用户名 identified by ‘密码’;
授权;
grant all on my_website.* to ’用户名‘@‘%’;

3.在主app的settings文件配置好数据库信息:
3.1 由于项目文件会提交到gitee,导致数据库信息泄露,所以在主目录下新建过一个utils文件夹,下面再创建一个dbs文件夹,新建一个关于数据库配置的mydb.cnf文件,再将该文件记录到根目录的.gitignore文件中,那么该数据库连接信息就不会提交到gitee上。
在这里插入图片描述
3.2 配置settings的数据库连接

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTION': {
            'read_default_file' : 'utils/dbs/mydb.cnf',
        },
    }
}

第三步:自定义一个日志器

1.在settings文件中配置日志器的信息
未解决问题,新增一个logs文佳佳,新增一个xiaoming.log的日志文件,pycharm提示未知的文件类型

第四步:静态文件的配置和其他路径配置

1.在项目根目录新建一个static文件夹,再创建一个js和css和其他媒体文件的文件夹。
2.在settings文件配置静态文件的路径

STATICFILES_DIRS = [
	os.path.join(BASE_DIR, 'static')
]

3.在settings文件里中,将项目目录和项目apps目录增加到sys.path中:

import sys
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os,path.join(BASE_DIR, 'apps')) # 将apps路径加入系统路径的用处在于后续导apps下的包时,可以直接省略apps,比如from apps.users 可以写成from users

第五步:将项目同步到码云

空白文件夹在pycharm中是不能同步的,选择空白文件进行上传会报错,服务器的空白文件夹也不会被下载
1.将项目文件加入文件跟踪:git add .
2.将项目文件提交到暂存区:git commit -m ‘提交说明’
3.将暂存区文件提交到gitee上:git push 还要输入gitee账号和密码

第六步:redis的安装

1.安装redis:

pip install redis==3.2
pip install django-redis==4.10

项目启动中遇到的问题:

1.数据连接信息没有生效,检查settings文件和utils/dbs/mydb.cnf关于数据库连接的配置信息

pymysql.err.OperationalError: (1045, "Access denied for user 'ubuntu'@'localhost' (using password: NO)")

django.db.utils.OperationalError: (1045, "Access denied for user 'ubuntu'@'localhost' (using password: NO)")

2.js文件提示红色下划线的警告,选择pycharm的file–>settings–>language&framwork,修改javascript的版本为6.0


  1. 描述信息为中文会报错 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值