“项目初始化”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
安装python mysql模块
 
(未显示2个用户的14个中间版本)
第1行: 第1行:
 
==安装环境==
 
==安装环境==
*[[Centos7 安装python3]],本项目安装python3.6
 
*[[Django安装与启动]]、[[在Windows上安装 Django]]
 
 
 
安装django REST Framework:
 
安装django REST Framework:
  
pip3 install djangorestframework==3.6.3
+
pip3 install djangorestframework==3.6.3
  
 
安装markdown 和django-filter:
 
安装markdown 和django-filter:
  
pip3 install markdown==2.6.8 django-filter==1.0.4
+
pip3 install markdown==2.6.8 django-filter==1.0.4
 +
 
 +
 
 +
==创建第一个项目==
 +
 
 +
 
 +
使用 django-admin 来创建 mxshop 项目:
 +
 
 +
django-admin startproject mxshop
 +
 
 +
创建完成后我们可以查看下项目的目录结构:
 +
 
 +
<nowiki>$ cd mxshop/
 +
$ yum install tree
 +
$ tree
 +
.
 +
|-- mxshop
 +
|  |-- __init__.py
 +
|  |-- settings.py
 +
|  |-- urls.py
 +
|  `-- wsgi.py
 +
`-- manage.py</nowiki>
 +
 
 +
目录说明:
 +
 
 +
    mxshop: 项目的容器。
 +
    manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
 +
    mxshop/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
 +
    mxshop/settings.py: 该 Django 项目的设置/配置。
 +
    mxshop/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
 +
    mxshop/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
 +
 
 +
接下来我们进入 mxshop 目录输入以下命令,启动服务器:
 +
 
 +
python3 manage.py runserver 0.0.0.0:8000
 +
 
 +
0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
 +
 
 +
在mxshop/settings.py中下面这一项添加允许访问的IP地址:
 +
 
 +
ALLOWED_HOSTS = ['10.0.0.30']
 +
 
 +
这里把Linux服务器的本机IP设上即可。
 +
 
 +
在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 10.0.0.30:8000) 及端口号,如果正常启动,输出结果如下:
 +
 
 +
[[文件:bd20-3-16.png|700px]]
 +
 
 +
==创建应用==
 +
python3 manage.py startapp users
 +
 
 +
 
 +
===注册应用===
 +
在 settings.py 中添加我们的应用名称users
 +
 
 +
<nowiki># Application definition
 +
 
 +
INSTALLED_APPS = [
 +
    'django.contrib.admin',
 +
    'django.contrib.auth',
 +
    'django.contrib.contenttypes',
 +
    'django.contrib.sessions',
 +
    'django.contrib.messages',
 +
    'django.contrib.staticfiles',
 +
    'users',
 +
]</nowiki>
 +
 
 +
==配置数据库==
 +
===安装mysql数据库===
 +
*[[Centos7 安装MySQL]]
 +
 
 +
*创建数据库mxshop:
 +
 
 +
MariaDB [(none)]> create database mxshop  CHARACTER SET utf8 COLLATE utf8_unicode_ci;
 +
 
 +
Query OK, 1 row affected (0.01 sec)
 +
 
 +
 
 +
===安装python mysql模块===
 +
yum install mysql-devel
 +
 
 +
yum install python3-devel
 +
(注:直接安装pip3 install mysqlclient 时可能会遇到mysql_config:command not found,因此先把mysql-devel安一下)
 +
 
 +
pip3 install mysqlclient==1.3.10
 +
 
 +
pip3 install pillow==4.2.1
 +
 
 +
Pillow 是 PIL 的替代版本,PIL 软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。
 +
 
 +
===Django中配置数据库===
 +
mysql中配置任何ip可访问数据库:
 +
 
 +
mysql -uroot -p
 +
 
 +
<nowiki>Enter password:
 +
Welcome to the MariaDB monitor.  Commands end with ; or \g.
 +
 
 +
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '000000' WITH GRANT OPTION;</nowiki>
 +
 
 +
mxshop/settings.py:
 +
 
 +
<nowiki>
 +
DATABASES = {
 +
    'default': {
 +
        'ENGINE':'django.db.backends.mysql',
 +
        'NAME':"mxshop",
 +
        'USER':'root',
 +
        'PASSWORD':"000000",
 +
        'HOST':"10.0.0.30",
 +
        'OPTIONS':{ 'init_command': 'SET storage_engine=INNODB;' }
 +
    }
 +
}
 +
 
 +
</nowiki>
 +
 
 +
==项目整理==
 +
===新建目录===
 +
新建目录apps extra_apps media db_tools:
 +
 +
root@localhost mxshop]# mkdir apps extra_apps media db_tools
 +
 
 +
[root@localhost mxshop]# ls
 +
 
 +
apps  db.sqlite3  db_tools  extra_apps  manage.py  media  mxshop  users
 +
 
 +
===移动目录===
 +
将users 移动到apps下:
 +
 
 +
[root@localhost mxshop]# mv users apps/
 +
 
 +
[root@localhost mxshop]# ls apps/
 +
 
 +
users
 +
 
 +
*apps: 存放项目的应用
 +
*extra_apps: 存放外部导入的应用
 +
*media:存放媒体文件
 +
*db_tools:存放操作数据库的脚本
 +
 
 +
===设置项目搜索目录===
 +
mxshop.settings.py:
 +
 
 +
在BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))行下加入如下内容,以便更好的寻找apps、extra_apps两个目录中的文件。
 +
<nowiki>
 +
import sys
 +
。。。
 +
sys.path.insert(0,BASE_DIR)
 +
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
 +
sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
 +
</nowiki>

2020年12月12日 (六) 05:12的最新版本

安装环境

安装django REST Framework:

pip3 install djangorestframework==3.6.3

安装markdown 和django-filter:

pip3 install markdown==2.6.8 django-filter==1.0.4


创建第一个项目

使用 django-admin 来创建 mxshop 项目:

django-admin startproject mxshop

创建完成后我们可以查看下项目的目录结构:

$ cd mxshop/
$ yum install tree
$ tree
.
|-- mxshop
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明:

   mxshop: 项目的容器。
   manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
   mxshop/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
   mxshop/settings.py: 该 Django 项目的设置/配置。
   mxshop/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
   mxshop/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

接下来我们进入 mxshop 目录输入以下命令,启动服务器:

python3 manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

在mxshop/settings.py中下面这一项添加允许访问的IP地址:

ALLOWED_HOSTS = ['10.0.0.30']

这里把Linux服务器的本机IP设上即可。

在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 10.0.0.30:8000) 及端口号,如果正常启动,输出结果如下:

Bd20-3-16.png

创建应用

python3 manage.py startapp users


注册应用

在 settings.py 中添加我们的应用名称users

# Application definition

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

配置数据库

安装mysql数据库

  • 创建数据库mxshop:

MariaDB [(none)]> create database mxshop CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Query OK, 1 row affected (0.01 sec)


安装python mysql模块

yum install mysql-devel

yum install python3-devel (注:直接安装pip3 install mysqlclient 时可能会遇到mysql_config:command not found,因此先把mysql-devel安一下)

pip3 install mysqlclient==1.3.10

pip3 install pillow==4.2.1

Pillow 是 PIL 的替代版本,PIL 软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。

Django中配置数据库

mysql中配置任何ip可访问数据库:

mysql -uroot -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '000000' WITH GRANT OPTION;

mxshop/settings.py:

DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':"mxshop",
        'USER':'root',
        'PASSWORD':"000000",
        'HOST':"10.0.0.30",
        'OPTIONS':{ 'init_command': 'SET storage_engine=INNODB;' }
    }
}


项目整理

新建目录

新建目录apps extra_apps media db_tools:

root@localhost mxshop]# mkdir apps extra_apps media db_tools

[root@localhost mxshop]# ls

apps  db.sqlite3  db_tools  extra_apps  manage.py  media  mxshop  users

移动目录

将users 移动到apps下:

[root@localhost mxshop]# mv users apps/

[root@localhost mxshop]# ls apps/

users
  • apps: 存放项目的应用
  • extra_apps: 存放外部导入的应用
  • media:存放媒体文件
  • db_tools:存放操作数据库的脚本

设置项目搜索目录

mxshop.settings.py:

在BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))行下加入如下内容,以便更好的寻找apps、extra_apps两个目录中的文件。

import sys
。。。
sys.path.insert(0,BASE_DIR)
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))