天天生鲜项目开发笔记
说在前面的话
大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是“生鲜配送系统”,B站上找到了一个天天生鲜的项目开发教程,之后文章记录每天学习开发遇到的大坑,以供自己回顾学习,同时希望可以帮助其他人,欢迎指正!
正文开始
开发工具版本(一定注意,不然后面问题多多)
pycharm2021.3.1
python3.6.8
Django3.2.18
MySQL-8.0.23-winx64
Navicat Premium 15.0.27
我电脑上目前装的开发工具只有这些,后面用到的我会在之后进行补充。
由于视频教程是19年的,比较早,所以开发版本有所出入,视频教程开发工具版本;
Django1.8.2
其他的不清楚,可根据自己实际情况进行版本选择。 开发工具的安装配置等,网上资源很多,不在这里赘述了。
1、搭建django框架
视频教程P1-P10讲的都是系统的设计,看视频学习就行,可适当动手操作。
P11项目构架搭建,在cmd中进入想创建项目的地址,搭建Django框架
使用到的语句:
>django-admin startproject djangoProject
>python manage.py startapp user
>python manage.py startapp product
>python manage.py startapp cart
>python manage.py startapp order
图片报红,因为有文件夹和项目同名,报错是因为没有进入项目文件,找不到manage.py
也可以直接在pycharm中进行项目创建,具体可参考链接: pycharm创建django项目
根据视频教程项目文件目录如下:
测试运行,控制台输入下面代码,点击http://127.0.0.1:8000,启动成功!
python manage.py runserver
2、在djangoProject/setting.py中更改配置
(1)注册APP
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tinymce', # 富文本编辑器
'user', # 用户模块
'cart', # 购物车模块
'order', # 订单模块
'product', # 商品模块
]
同时在开头添加路径配置
import os
import sys
BASE_DIR = Path(__file__).resolve().parent.parent
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
(2)配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'text', # 准备存放数据的数据库
'USER': 'root', # mysql的用户名
'PASSWORD': '', # 数据库密码使用你自己的
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
# 生成迁移文件 python manage.py makemigrations
# 执行迁移文件,同步到数据库 python manage.py migrate
# 从已有mysql数据库逆向创建Models python manage.py inspectdb >> myapp/models.py
(3)在项目文件目录下创建两个文件夹:templates和static
并在setting.py文件中添加设置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # 更改这行
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = '/static/' # 在这行下添加静态文件路径配置
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
(4)更改语言和时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
3、在djangoProject/urls.py文件下添加配置
(1)添加APP的路径(记得导入django.urls)
urlpatterns = [
path('admin/', admin.site.urls),
path('tinymce/', include('tinymce.urls')), # 富文本编辑器
path('user/', include(('user.urls', 'user'), namespace='user')), # 用户模块
path('cart/', include(('cart.urls', 'cart'), namespace='cart')), # 购物车模块
path('order/', include(('order.urls', 'order'), namespace='order')), # 订单模块
path('', include(('product.urls', 'product'), namespace='product')), # 商品模块
]
注意说明:
include()这个方法在视频中的用法,我实际运行中是报错的,我查了下Django的官方文档,改成上面我的代码是可以运行的,可能是Django版本的原因,具体原因希望有大佬也帮我讲讲(//▽//)
具体参考链接: URLconfs 中使用的 django.urls 函数 教程视频中使用的是url方法,但是我用url方法运行一直报错,试了下发现用path方法可以,不知道为什么,有大佬看见可以解答下。
(2)在创建的应用程序的文件下都创建urls.py
4、在djangoProject/init.py文件下添加配置
import pymysql
pymysql.install_as_MySQLdb()
5、创建Models类
按照视频教程进行导入,代码会在我全面开发学习完进行上传
6、数据库迁移
在终端上运行下面程序
python manage.py makemigrations
python manage.py migrate
注意说明:
网上有些Django项目链接数据库需要安装mysqlclient,但是我安装一直报错,虽然没装这个包但是我的项目依然可以运行。
pip install mysqlclient
有大佬看见可以帮忙解释下。