我的Django项目创建历程

简要记录步骤与操作,快速实现,方便自己以后再开发时来看。

系统环境

  • 操作系统: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作为系统首页,随意在后输入内容。

在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

你可能感兴趣的:(我的Django项目创建历程)