美文网首页
我的Django项目创建历程

我的Django项目创建历程

作者: leo快成长 | 来源:发表于2016-11-30 10:02 被阅读0次

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

    系统环境

    • 操作系统: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
    

    相关文章

      网友评论

          本文标题:我的Django项目创建历程

          本文链接:https://www.haomeiwen.com/subject/zktwpttx.html