简介:自学django,从搭建简单的购物网站开始,网站的功能不完整,目前完成:用户注册,用户登录和注销,商品展示,商品详情,购物车(不完整,没创建模型,但是已完成表单获取和session记录,没什么大碍),购买支付页面没做。本文只是展示部分代码,html文件可在github下载。
软件环境:ubuntu16.04,安装mysql,django,python
前期配置:
数据库配置,数据库支持中文设置:
mysql -u root -p
输入密码后进入mysql
create database shoponline;创建数据库;
use shoponline;指向数据库对象
show variables like 'character_set_database';查看数据库编码
alter database shoponline character set utf8;将数据库编码更换为utf-8;
为项目新建一个文件夹:
mkdir testprj
cd testprj
位置:testprj/
利用django新建一个项目:
django-admin startproject shoponline
进入shoponline下的shoponline文件夹
cd shoponline/shoponline
位置:testprj/shoponline/shoponline/
新建一个文件夹:
apps:mkdir apps
media:mkdirmedia
static:mkdir static
templates:mkdir template(并在里面建立一个catalog文件夹:mkdir catalog)
进入apps:
cd apps
位置:testprj/shoponline/shoponline/apps/
新建一个app:catalog:
django-admin startappcatalog
在此建一个空的__init__.py文件
touch __init__.py
位置:testprj/shoponline/shoponline/
修改settings.py
vim settings.py
在后面添加:
SETTINGS_DIR=os.path.dirname(__file__) #得到当前文件settings.py的目录路径
STATICFILES_DIRS=(os.path.join(SETTINGS_DIR,’static’),) #设置静态文件的路径,没用到
MEDIA_ROOT=os.path.join(SETTINGS_DIR,’media’) #设置media目录路径,存放照片。
MEDIA_URL=’/media/’
SESSION_SERIALIZER='django.contrib.sessions.serializers.PickleSerializer'
#(用于session序列化,支持存储特殊类型的对象数据)
修改:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(SETTINGS_DIR,"templates")],#设置templates路径,存放html。
'APP_DIRS': True,
'OPTIONS': {'context_proce