linux系统搭建django框架步骤
1: 基于上一篇centos7 搭建python-3.9.1+pycharm+django+mysql
2: 创建工作目录:
mkdir -p /project/mysite4
3: 进入工作目录
cd /project/mysite4
4:创建django项目,项目名称为 mysite4
django-admin startproject mysite4
5: 在项目路径下创建一个templates文件夹,用于存放html模板
mkdir -p /project/mysite4/mysite4/templates
6:创建应用—名称为 bookstore 进入/project/mysite4/mysite4
cd /project/mysite4/mysite4
django-admin startapp bookstore
7:进入数据库创建mysite4 的数据库名称为 mysite4_db
mysql -uroot -p
create database mysite4_db default charset utf8 collate utf8_general_ci;
8: 用pycharm 打开项目:
找到settings.py文件
1): 将ALLOWED_HOSTS = [“*”] ,默认为仅主机
2): 找到"INSTALLED_APPS =" 在后面加上应用名称 “bookstore”
3): 找到"MIDDLEWARE =" 先将"‘django.middleware.csrf.CsrfViewMiddleware’,“注释掉
4): 找到"TEMPLATES = " 将DIRS=[] 添加templates的路径 ‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)],
5): 找到"DATABASES =” 将之前的默认的数据库删除或者注释 添加mysql engine 注意语法{} 是成对出现的 或者删除用我下面的事例
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘mysite4_db’,
‘USER’: “root”,
‘PASSWORD’: ‘123456’,
‘PORT’: ‘3306’,
‘HOST’: ‘127.0.0.1’,
}
}
6): 找到"LANGUAGE_CODE = ‘en-us’" 将其改为"LANGUAGE_CODE = ‘zh-Hans’"
7): 找到"TIME_ZONE = ‘UTC’" 将其改为"TIME_ZONE = ‘Asia/Shanghai’"
8): 找到"init.py"文件, 添加对mysql的支持 在此文件中加入一下内容:
import pymysql
pymysql.install_as_MySQLdb()
9: 用pycharm 软件找到"bookstore"文件夹下面的models文件 在这下面创建类,用来操作数据库
class Book(models.Model): #这里的Book 相当于数据库中的表
title = models.CharField(max_length=30) #title, price, publisher, market_price, pubdate 相当于数据库中的字段
#CharField 相当于数据库中的vachar max_length=30 相当于varchar(30)
price = models.DecimalField(max_digits=7,
decimal_places=2)
publisher = models.CharField(max_length=30)
market_price = models.DecimalField(max_digits=7,
decimal_places=2)
pubdate = models.DateTimeField(auto_now=True)
10: 进入项目目录, 执行数据库迁移命令
cd /project/mysite4/mysite4
python3.9 manage.py makemigrations
python3.9 manage.py migrate
执行成功后进入数据库,查看数据是否同步过来
mysql -uroot -p
执行: show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysite4_db |
| mysql |
| mywebdb |
| performance_schema |
| sys |
±-------------------+
6 rows in set (0.04 sec)
执行: use mysite4_db;
执行: mysql> show tables;
±---------------------------+
| Tables_in_mysite4_db |
±---------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| bookstore_book |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
±---------------------------+
11 rows in set (0.00 sec)
执行: mysql> desc bookstore_book;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | bigint | NO | PRI | NULL | auto_increment |
| title | varchar(30) | NO | | NULL | |
| price | decimal(7,2) | NO | | NULL | |
| publisher | varchar(30) | NO | | NULL | |
| market_price | decimal(7,2) | NO | | NULL | |
| pubdate | datetime(6) | NO | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
6 rows in set (0.04 sec)
这就是我们用ORM 创建的数据表
11: 创建分布式路由
1): 在pycharm 里面找到"mysite4" 文件夹里找到"urls"文件
导入bookstore 正则模块,include 模块
import bookstore
from django.urls import re_path
from django.urls import include
2): 在"urlpatterns = []" 中加上
urlpatterns = [
path(‘admin/’, admin.site.urls),
re_path(r’bookstore/‘, include(“bookstore.urls”))
]
3): 用pycharm 找到bookstore 文件夹在里面创建 urls.py文件
在里面导入模块:
from django.urls import path, re_path
from . import views
4): 在里面添加如下内容:
urlpatterns = [
re_path(r’add_book’, views.add_book_view),
]
12: 用pycharm 打开bookstore 文件夹里的viws.py文件 在里面添加视图处理函数
1): 导入模块及包
from . import models
from django.http import HttpResponse
2): 定义函数
def add_book_view(request):
#创建添加书的对象:
#方法一:
try:
abook = models.Book.objects.create(
title = “九阳神功”,
price = 19999,
market_price = 29999,
publisher = “清华大学出版社”
)
return HttpResponse(“图书添加成功!”)
except Exception as err:
return HttpResponse(“图书添加失败!”)
13: 进入项目目录:重启服务
python3.9 manage.py runserver 0.0.0.0:5000
14:用浏览器打开"192.168.0.0:5000/bookstore/add_book" ip地址输入自己服务器的ip
显示图书添加成功 一切正常
15: 进入数据库查询图书是否添加成功
mysql -uroot -p
mysql> use mysite4_db;
mysql> select * from bookstore_book;
+----+--------------+----------+-----------------------+--------------+----------------------------+
| id | title | price | publisher | market_price | pubdate |
+----+--------------+----------+-----------------------+--------------+----------------------------+
| 1 | 九阳神功 | 19999.00 | 清华大学出版社 | 29999.00 | 2022-08-22 02:18:49.807497 |
+----+--------------+----------+-----------------------+--------------+----------------------------+
1 row in set (0.00 sec)
证明linux下搭建django 框架成功
en