簡要記錄步驟與操作,快速實現,方便自己以后再開發時來看。
系統環境
- 操作系統:MAC macOS Sierra version:10.12.1
- IDE:PyCharm 5.0.3
- 數據庫:SQLlite
- Django1.10
步驟:
創建項目
啟動PyCharm,新建一個Django項目,會自動應用最新版本
在一個新建空文件夾中新建項目,選擇啟動自帶管理后臺,項目名MySpace
修改Django設置
MySpace/settings.py
#系統語言設置為簡體中文
LANGUAGE_CODE = "zh-hans"
#修改時間設置
TIME_ZONE = "Asia/Shanghai"
初始化數據表
$ python manage.py migrate
要先輸入該命令,否則無法創建用戶
創建超級管理員
$ python manage.py createsuperuser
根據提示輸入用戶名稱和密碼,注意密碼要求至少八位,不能全部數字
啟動服務查看效果
$ python manage.py runserver
服務啟動后,默認地址為http://127.0.0.1:8000
可以看到界面顯示系統已正常運行
訪問http://127.0.0.1:8000/admin
可以訪問系統后臺
創建第一應用——welcome作為系統首頁管理模塊
創建第一個應用用于管理系統首頁
$ python manage.py startapp welcome
在templats中新建html文件
在templats中新建html文件,index.html作為系統首頁,隨意在<body>后輸入內容。
在welcome的視圖中定義引用index
welcome/views.py
def index(request)
return render(request, 'index.html')
在settings.py中注冊應用
/MySpace/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'welcome',
]
在urls.py中增加地址記錄
...
from welcome.view import index
urlpatterns = [
...
#通過url(r'', index),指定系統首頁為index
url(r'', index),
]
再次啟動服務,訪問http://127.0.0.1:8000/ ,即可訪問剛剛創建的index界面
創建備忘錄(note)功能,用于記錄事項
備忘錄具有分組功能,每個備忘有題目和內容兩個屬性
創建應用note
$ python manage.py startapp note
為note創建模型
創建Note模型和NoteGroup模型,Note對象具有三個屬性,note_title(題目)、note_context(內容),分類;NoteGroup有一個屬性note_group(分組名稱)
編輯note/models.py
note/models.py
...
class NoteGroup(models.Model):
note_group = models.CharField("標題", max_length=200)
def __str__(self):
return self.note_group
##PyCharm中兩個類之間如果不空兩行,會有提示
class Note(models.Model):
note_class = models.ForeignKey(NoteGroup)
note_title = models.CharField("標題", max_length=200)
note_context = models.CharField(max_length=4000)
def __str__(self):
return self.note_title
讓note應用在管理站點中可編輯
note/admin.py
from django.contrib import admin
from .models import NoteGroup, Note
admin.site.register(NoteGroup)
admin.site.register(Note)
為模型定義中文名稱,方便查看
note/models.py
...
class NoteGroup(models.Model):
note_group = models.CharField("標題", max_length=200)
def __str__(self):
return self.note_group
class Meta:
verbose_name = ('分組')
class Note(models.Model):
note_class = models.ForeignKey(NoteGroup)
note_title = models.CharField("標題", max_length=200)
note_context = models.CharField(max_length=4000)
def __str__(self):
return self.note_title
class Meta:
verbose_name = ('列表')
使用第三方后臺
$ pip install bootstrap-admin
INSTALLED_APPS = [
'bootstrap_admin', #一定要放在`django.contrib.admin`前面
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'welcome',
'note',
'blog',
'article',
]
BOOTSTRAP_ADMIN_SIDEBAR_MENU = True