debian10安装djando

一、基础配置

配置阿里云源

cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb http://mirrors.aliyun.com/debian-security stretch/updates main
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main
deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
EOF

更新源:

apt update

安装常用工具

apt install -y vim git procps net-tools wget lrzsz

安装ssh服务

apt install -y openssh-server openssh-client

安装python3.9.1

echo "deb-src http://archive.debian.com/debian/ bionic main" >> /etc/apt/sources.list
#安装依赖
apt-get build-dep -y python3.5
cd /root
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz
tar -xvf Python-3.9.1.tar.xz
cd Python-3.9.1
./configure --enable-optimizations
make -j 2
make install

ln -s /usr/local/bin/pip3.9 /usr/local/bin/pip
ln -s /usr/local/bin/python3.9 /usr/local/bin/python

#更新pip
/usr/local/bin/python3.9 -m pip install --upgrade pip

#修改pip源为阿里云软件源
mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com
EOF

二、安装Django并创建项目

安装Django

python -m pip install Django

查看版本

python -m django --version

创建Django项目

进入到要存放项目代码的目下执行如下命令,创建名为zmtdjango的项目:

django-admin startproject zmtdjango

执行完命令后会在当前目录下生成一个名为zmtdjango的目录,目录结构如下:

zmtdjango/
|-- manage.py
`-- zmtdjango
    |-- __init__.py
    |-- settings.py
    |-- urls.py
    `-- wsgi.py

三、配置Django

1、配置mysql数据库

安装库文件

安装pymysql和cryptography:

pip install pymysql
pip install cryptography

修改settings.py文件

打开项目下的settings.py文件,并对“DATABASES”部分进行编辑:

原文如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

修改为:

#DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': BASE_DIR / 'db.sqlite3',
#    }
#}

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'zmtmanage',
        'USER': 'zmtmanage',
        'PASSWORD': 'zmtmanage=123',
        'HOST': 'mysql',
        'POST': 3306,
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}

在settigns.py文件中修改

修改__init__.py文件

将如下代码添加到文件zmtdjango/zmtdjango/___init__.py中:

import pymysql
pymysql.version_info = (1, 4, 13, "final", 0)
pymysql.install_as_MySQLdb()

迁移数据库

执行以下命令迁移数据库(创建Django数据库表):

python manage.py migrate

2、创建后台管理用户

python manage.py createsuperuser

3、修改语言

LANGUAGE_CODE = 'zh-hans'

在settigns.py文件中修改

4、修改时区

TIME_ZONE = 'Asia/Shanghai'

在settigns.py文件中修改

5、设置允许访问Django的方式

# 允许所有的访问
ALLOWED_HOSTS = ['*']
# 只允许列表中的ip地址访问
ALLOWED_HOSTS = ['192.168.1.2', '192.168.1.3']
# 只允许通过域名访问,禁止通过IP访问
ALLOWED_HOSTS = ['test.com', 'www.test.com', '*.test.cn']

在settigns.py文件中修改

四、创建应用

创建应用

python manage.py startapp web

web:应用名称

注册应用

修改settings.py文件内的INSTALLED_APPS选项,将创建的应用加入其中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'importfiles',
]

在settigns.py文件中修改

五、迁移数据库

此步骤是在创建应用后,想为应用在数据库内创建或修改表结构时使用的方法。

生成迁移文件

python manage.py makemigrations

执行迁移文件

#默认对项目下的所有修改过的modes文件进行迁移
python manage.py migrate

#对某个app下修改过的model文件进行迁移
python manage.py migrate app_name

#确到某个迁移文件(0004_xxx.py):
python manage.py migrate app_name 0004

六、报错信息

报错1

报错信息

Invalid HTTP_HOST header: ‘xxx.com’. You may need to add u’xxx.com’ to ALLOWED_HOSTS

解决方法

修改settings.py文件内的ALLOWED_HOSTS,原内容:

ALLOWED_HOSTS = []

修改后的内容:

ALLOWED_HOSTS = ['*']

报错2

报错信息

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1

解决方法

修改__init__.py文件内容如下:

import pymysql
pymysql.version_info = (1, 4, 13, "final", 0)
pymysql.install_as_MySQLdb()

报错3

报错信息

RuntimeError: cryptography is required for sha256_password or caching_sha2_password

解决方法

执行如下命令,安装cryptography

pip install cryptography

七、参考资料

[django报错解决:Invalid HTTP_HOST header: ‘xxx.com’. You may need to add u’xxx.com’ to ALLOWED_HOSTS.](https://www.cnblogs.com/zqifa/p/django-setting-1.html)

RuntimeError: cryptography is required for sha256_password or caching_sha2_password

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required

Django 基本命令

Django操作MySql详细教程

如何在 Debian 9上安装 Django

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值