Django1.9.8 + Xadmin + Windows 快速搭建网站

Posted WANGLC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django1.9.8 + Xadmin + Windows 快速搭建网站相关的知识,希望对你有一定的参考价值。

1.创建python虚拟环境
  pip install virtualenvwrapper-win
  mkvirtualenv env3.4
  workon env3.4
  deactivate

  pip install virtualenv
  virtualenv -p c:\Python27\python.exe env2.7
  cd env2.7\Scripts\activate
  deactivate

2.安装django
  pip install django==1.9.8

3.安装mysql python 驱动
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

4.配置setting中的DATABASES
  填写链接数据库的
  用户名
  密码
  host
  数据库名

 1 DATABASES = {
 2     default: {
 3         #‘ENGINE‘: ‘django.db.backends.sqlite3‘,
 4         ENGINE: django.db.backends.mysql,
 5         #‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
 6         NAME: learndjango,
 7         USER: root,
 8         PASSWORD:‘‘,
 9         HOST:127.0.0.1,
10         OPTIONS  : { "init_command":"SET foreign_key_checks = 0;", },
11 
12     }
13 
14 }

5.生成django默认的数据表
  pycharm中tools run manager.py task
  makmigrations
  migrate

6. 新建app(一般都是新建user app)
  tools run manager.py task
  1.startapp appName(users)
  接下来编辑 models.py 设计对象属性
  user
    继承原有的AbstractUser 并添加 昵称 生日 性别 地址 手机号码 头像
    对于头像使用到imageFiled属性 依赖python 的pillow包
    pip install pillow
    前面步骤都创建完成后使用
    tools run manager.py task
    1.makemigrations apps
    2.migrate
    点击运行django项目
    会提示是否删除 auth|user 表 选yes

  tools run manager.py task

  

  2.startapp appName(courses)
    在django中表关系使用models.ForeignKey 来建立
    model.py 设计对象属性
    courses(课程表)
      1-n(一对多)课程章节lesson(章节表)
        1-n(一对多)课程小章节(video表)
    lessonRecourse课程资源表

  3.startapp appName(organization)
    model.py 设计对象属性
    courseOrg(机构基本信息表)
    teacher(教师基本信息)
    city(城市信息)

  4.startapp appName(operation)
    model.py 设计对象属性
    userAsk(用户咨询表)
    userCourseComment(用户课程评论表)
    userFav(用户收藏表)
    userMessage(用户提示信息表)
    userCourse(用户学习课程表)

代码示例

 1 class userProfile(AbstractUser):
 2     nickName = models.CharField(max_length= 50, verbose_name=u"昵称", default="")
 3     birthday = models.DateField(verbose_name=u"生日", null= True, blank=True)
 4     gender = models.CharField(choices=(("male",u""),("female",u"")), default="female", max_length= 6, verbose_name=u"性别")
 5     address = models.CharField(max_length= 100, default=u"")
 6     mobile = models.CharField(max_length= 11, null=True, blank=True)
 7     image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length= 100)
 8 
 9     class Meta:
10         verbose_name = u"用户信息"
11         verbose_name_plural = verbose_name
12 
13     def __unicode__(self):
14         return self.username

7. 在setting 中的 INSTALL_APPS 中对创建的app进行注册

8.将model注册到xadmin中 快速搭建后台管理系统
  from .models import 对象(user)
  import xadmin
  “注册”
  class 对象(user)Admin(object):
  list_display = [‘属性列表用于在xadmin展示‘,]
  list_filter = [‘属性列表用于在xadmin中进行过滤‘,]
  search_fields = [‘属性列表用于在xadmin中进行搜索‘,]
  “关联”
  xadmin.site.register(user,userAdmin)

9.进行全局的替换工作logo footer.....
  app 下面的apps用来修改菜单显示内容 verbose_name = u"XXXXX"
  在 init 文件中是配置生效 default_app_config = "XXX.apps.XXXConfig"

1.将所有的app放到新建的apps文件夹下面
  需要在setting中添加apps到路径里边 sys.path.insert(0, os.path.join(BASE_DIR, ‘apps‘))

2.使用静态文件夹在setting中添加代码段
  STATICFILES_DIRS = [
  os.path.join(BASE_DIR , ‘static‘)
  ]

3.定义AUTH_USER_MODEL = ‘users.userProfile‘ 去覆盖原有的基础user表

4.#USE_TZ = True #True使用UTC时间 False 使用本地时间

5. app 下的admin.py 用来注册后台管理系统
  class userProfileAdmin(admin.ModelAdmin):
  "注册"
  pass
  "关联"
  admin.site.register(userProfile, userProfileAdmin)



  makemigrations app 生成一个比对记录
  #No changes detected in app ‘messages‘ 要在setting 中的apps 进行注册
  migrate 生成数据表


model 设计(ORM):
  url name = ‘XDXXX‘ 在页面上的action={%url ‘XDXXX‘%}

  django apps设计
  django apps model 设计
  django apps model 数据表生成与修改
  user 用户管理
  course 课程管理
  organization 机构和讲师管理
  operation 用户操作管理(用来解决循环引用的问题)

使用xadmin遇到的一些错误
  No module named future.utils pip install future
  No module named import_export.admin pip install django-import-export
取消外键检查

 1 DATABASES = {
 2     default: {
 3         #‘ENGINE‘: ‘django.db.backends.sqlite3‘,
 4         ENGINE: django.db.backends.mysql,
 5         #‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
 6         NAME: learndjango,
 7         USER: root,
 8         PASSWORD:‘‘,
 9         HOST:127.0.0.1,
10         OPTIONS  : { "init_command":"SET foreign_key_checks = 0;", },
11 
12     }
13 
14 }

 


  pycharm 添加git
  django 使用xadmin pip install xadmin 依赖自己安装好 在installapp 里面注册 修改urls 为xadmin

以上是关于Django1.9.8 + Xadmin + Windows 快速搭建网站的主要内容,如果未能解决你的问题,请参考以下文章

Django重新开始学习--环境搭建 笔记

Django admin美化插件suit

1Django实战第1天:建立项目mxonline

xadmin 插件

xadmin为啥设置了use

安装xadmin后台管理