1. Kevin商城
django安装 :
创建django环境:pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
升级pip安装源:python -m pip install --upgrade pip -i https://pypi.douban.com/simple
创建django项目:django-admin startproject kevinshop1
创建应用:python manage.py startapp user
python manage.py startapp goods
python manage.py startapp cart
python manage.py startapp order
新建目录app,将应用复制放在其下面
加载app模块
设置setting文件下INSTALLED_APPS :
import os
import sys
sys.path.insert(0, os.path.join(BASE_DIR, ‘app’)) 为了减少直接检索到app下的文件,固添加该路径
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘goods’,
‘cart’,
‘user’,
‘order’,
]
BASE_DIR为绝对路径
设置setting下templates
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’,
],
},
},
]
设置mysql数据库:
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘dailyfreshkevin1’,
‘USER’: ‘dailyfreshkevin1’,
‘PASSWORD’:‘Kevin2020’,
‘HOST’: ‘121.36.51.51’,
‘PORT’: 3306,
}
}
设置:
LANGUAGE_CODE = ‘zh-hans’
TIME_ZONE = ‘Asia/Shanghai’
设置静态文件目录
STATIC_URL = ‘/static/’
STATICFILES_DIRS = [os.path.join(BASE_DIR, ‘static’)]
设置加载app url,修改主项目urls文件:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘goods/’, include(‘goods.urls’)),
path(‘user/’, include((‘user.urls’,‘user’),namespace=‘user’)),
path(‘order/’, include((‘order.urls’,‘order’),namespace=‘order’)),
path(‘cart/’, include((‘cart.urls’,‘cart’),namespace=‘cart’)),
]
将主项目下的urls复制给app使用
在主目录下新建db package,然后新建base_model.py,内容如下:
from django.db import models
class BaseModel(models.Model):
‘’‘模型抽象基类’’’
create_time = models.DateTimeField(auto_now_add=True, verbose_name=‘创建时间’)
update_time = models.DateTimeField(auto_now=True, verbose_name=‘更新时间’)
is_delete = models.BooleanField(default=False, verbose_name=‘删除标记’)
class Meta:
# 说明是一个抽象模型类
abstract = True
主要目的是为了用于app的model继承使用,让所有model数据库表都含有这些栏位
添加富文本编辑器:
在INSTALLED_APPS 下添加 ‘tinymce’,
在setting中添加:
TINYMCE_DEFAULT_CONFIG = {
‘theme’: ‘advanced’,
‘width’: 600,
‘height’: 400,
}
在主项目urls添加
path(‘tinymce/’, include(‘tinymce.urls’)),
添加使用python 内置认证:
在主项目setting中添加:
AUTH_USER_MODEL = ‘user.User’ 会生成User数据库表
就会把用户信息加到数据库auto_user表里面
python manage.py createsuperuser创建超级用户