Django开发配置和基本流程

django.png

django开发配置和基本流程

  • 第一步:安装虚拟机,基于Ubuntu Linux系统开发,安装详情请在中直接找之前分享的两种安装步骤即可。

  • 第二步:(1)创建虚拟环境,mkvirtualenv [虚拟环境名称],
    workon [虚拟环境名称]或者cd [虚拟环境名称]进入虚拟环境即可;
    (2)激活虚拟环境source ./bin/activate

    • deactivate退出虚拟环境,

    • rmvirtualenv [虚拟环境名称]删除虚拟环境

    • 查看虚拟环境中已经安装的包
      pip list
      pip freeze

    • 查看当前的所有虚拟环境:workon [两次tab键]

  • 第三步:安装django
    稳定版本:pip install django==1.8.2

  • 第四步:创建项目
    命令 django-admin startproject test
    目录说明:

    • manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
    • 内层的目录:项目的真正的Python包
    • _init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包
    • settings.py:项目的配置
    • urls.py:项目的URL声明
    • wsgi.py:项目与WSGI兼容的Web服务器入口
  • 第五步:开启mysql
    创建mysql数据库test

  • 第六步:数据库配置

    • 在settings.py文件中,通过DATABASES项进行数据库设置
    • django支持的数据库包括:sqlite、mysql等主流数据库
    • Django默认使用SQLite数据库

    例如使用mysql
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'test',这个名字是数据库名
    'USER':'root',
    'PASSWORD':'',
    'HOST':'localhost',
    'PORT':'3306',

  • 第七步:创建应用
    命令 python manage.py startapp Test
    激活模型:编辑settings.py文件,将booktest应用加入到installed_apps中

  • 第八步:定义模型类
    models主要生成一些表,同时创建表对应的字段。
    创建对象,自定义界面,使后台呈现不同的效果等等都在这里面操作。
    model类里面复杂,今天主要讲解开发基本流程

  • 第九步:迁移

    • 生成迁移文件:根据模型类生成sql语句
      python manage.py makemigrations
    • 执行迁移:执行sql语句生成数据表
      python manage.py migrate
  • 第十步:开启服务器测试
    命令python manage.py runserver ip:port

django后台管理操作

  • 创建一个管理员用户
    命令python manage.py createsuperuser,启动服务器,通过“127.0.0.1:8000/admin”访问,输入上面创建的用户名、密码完成登录
  • 管理界面本地化
    setting.py文件修改

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

  • 自定义管理页面
    • 通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式
    • 列表页属性
    • 关联对象

django 视图

  • url配置

    • 在test文件urls.py

    url(r'^', include('test.urls')),

    • 在Test中的urls.py中添加urlconf

    from django.conf.urls import url
    from . import views
    urlpatterns = [
    url(r'^$', views.index),
    url(r'^([0-9]+)/$', views.detail),
    ]

django 模板

  • 修改settings.py文件,设置TEMPLATES的DIRS值

    'DIRS': [os.path.join(BASE_DIR, 'templates')],

  • 加载模板

    def detail(reqeust, id):
    book = CityInfo.objects.get(pk=id)
    return render(reqeust, 'Test/detail.html', {'city': city})

模型类、视图以及模板会在接下来的三篇文章中详细分享每一个模块,敬请期待,共勉。

你可能感兴趣的:(Django开发配置和基本流程)