新人学习django 是按照这个大佬的教程学习的
链接: https://www.cnblogs.com/derek1184405959/p/8733194.html.
很多步骤都是按照上面的教程学习的,这里只是记录一下自己学习的过程和一些错误
如果有人想要系统的学习,建议去上面那位大佬处学习
1.创建项目
选择Project Interpreter 时选择你创建的虚拟环境
取消默认使用的Enable Django admin
2.项目初始化
使用pycharm的终端下载相关依赖
django2.0.2
djangorestframework和相关依赖mark,filter
pillow 图片处理
pip install djangorestframework
pip install -i https://pypi.douban.com/simple django==2.0.2
pip install markdown
pip install django-filter
pip install pillow
pip install pymysql
3.配置mysql
在settings中配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mxshop',#数据库名字
'USER': 'root', #账号
'PASSWORD': 'alotria', #密码
'HOST': '127.0.0.1', #IP
'PORT': '3306', #端口号
#默认引擎引用的是myisam
#后面要使用第三方登录,这里设置引擎为INNODB
'OPTIONS':{'init_command': 'SET storage_engine=INNODB'}, #这样设置会报错,改为
#"OPTIONS":{"init_command":"SET default_storage_engine=INNODB;"}
}}
安装mysqlClient
下载地址
https://www.lfd.uci.edu/~gohlke/pythonlibs/
根据python的版本进行安装
我的是python3.7版本的 AMD64 所以安装cp37,amd64的mysqlClient
将下载的文件放置到所创建的python项目下,使用
pip install mysqlclient-1.4.6-cp37-cp37m-win_amd64.whl 安装
Mxshop下的
init.py添加代码:
import pymysql
pymysql.install_as_MySQLdb()
4.创建三个app
goods 商品
trade 交易
user_operation 用户操作
users下models设计
from django.db import models
from datetime import datetime
from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):
"""用户信息"""
#这里是为了在注册时给予选择,只能在这两种选择
GENDER_CHOICES=(("male",u"男"),
("female",u"女"))
#用户用手机注册,所以姓名,生日,邮箱,可以为空
username=models.CharField("姓名",max_length=30,null=True,blank=True)
gender=models.CharField("性别",max_length=6,choices=GENDER_CHOICES,default="female")
birthday=models.DateField("出生年月",null=True,blank=True)
mobile=models.CharField("电话",max_length=11)
email = models.EmailField("邮箱",max_length=100,null=True,blank=True)
class Meta:
verbose_name="用户信息"
verbose_name_plural=verbose_name
def __str__(self):
return self.username
class VerifyCode(models.Model):
"""验证码"""
code=models.CharField("验证码",max_length=10)
mobile=models.CharField("电话",max_length=11)
add_time=models.DateTimeField("添加时间",default=datetime.now())
class Meta:
verbose_name="短信验证"
verbose_name_plural=verbose_name
def __str__(self):
return self.code
# Create your models here.
goods的models设计
(1).安装xadmin
下载xadmin,然后将xadmin放入python项目的文件下
运行下面命令安装:
pip install xadmin-django2
然后可以在虚拟环境下找到xadmin安装的文件夹
然后将xadmin的文件复制到extra_apps的文件夹下面
把extra_apps右键mark为Source Root