简要记录步骤与操作,快速实现,方便自己以后再开发时来看。
系统环境
- 操作系统: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