1. 程式人生 > >Django1.9.8 + Xadmin + Windows 快速搭建網站

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

class site pps bject 管理 都是 2.7 ken from

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 快速搭建網站