zoukankan      html  css  js  c++  java
  • Django 初探--Django的开发服务器及创建数据库(笔记)

         1、Django的开发服务器

          Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django提供的内置服务器可以在代码修改时自动加载,从而实现网站的迅速开发。

          在我们创建的Django_Pro项目的目录下,打开Dos命令行,启动内置服务器:

                                                               manage.py runserver 

         

    默认情况下,使用命令manage.py runserver 启动内置服务器,默认使用本机8000端口,若需要使用其他端口(例如8001),则使用命令

                                                            manage.py runserver 8001

    上面两个命令只在本机进行监听,也就是说Django只接收来自本机的连接。当接受来自其他主机的请求时,使用命令

                                                            manage.py runserver 0.0.0.0:8000

    该语句表示对本机的所有网络接口监听8000端口,可以满足多人合作开发和测试Django项目的需求,同时也可以使用其他主机来访问此web服务器。

    启动浏览器,输入http://localhost:8000,连接此web服务器,显示Django项目的初始化页面,说明Django框架已正确安装并生成一个项目。

        2、创建数据库

         此处,我们使用SQLite数据库引擎。在运行服务器后,在该文件夹下自动生成了db.sqlite3文件。

      

    如果没有该文件,则需要配置并创建数据库。

    修改setting.py文件中的DATABASES字典,配置ENGINE用来指定使用的是sqlite3类型的数据库,并配置NAME,指定要使用的数据库文件为db.sqlite3

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

      接着用命令生成数据库:manage.py suncdb,并配置用户名和密码都为admin

     

      使用SQLiteManager打开Django_Pro目录下的db.sqlite3文件,显示结果如下

    3、生成Django应用

          Django框架的网站,可能会有多个Django应用。可以使用manage.py文件的startapp子命令生成Django应用。

          例如,切换到Django_pro目录下的命令框,在该目录下会生成一个Users目录,此目录中的文件定义了应用的数据模型以及处理方式。

          Users目录下的文件:

          __init__.py: 空文件,但是必需的。用来将整个应用作为一个Python模块加载。

         models.py: 定义数据模型相关的信息。

         tests.py: 该应用的测试文件

         views.py: 包含与此模型的视图相关的信息

    4、创建数据模型

         创建应用后,需要定义保存在数据库中的数据。数据模型是一组相关对象的定义,包括类、属性和对象之间的关系。

         我们可以通过修改Django应用中的models.py文件来实现创建数据模型。models.py文件定义了要保存到数据库中的表。

         我们定义一个Users表:

    from django.db import models
    
    # Create your models here.
    class Users(models.Model):
    	username=models.CharField('用户名',max_length=20)   #生成字段
    	password=models.CharField('密码',max_length=20)
    	realname=models.CharField('真实姓名',max_length=255)
    	sex=models.CharField('性别',max_length=10)
    	email=models.EmailField('电子邮箱',blank=True)
            def __str__(self):
    	       return '%s'%(self.name)
    

      Users类定义了5个字段来描述用户的相关信息,CharField()方法用来生成字段,两个参数:第一个表示在数据库中保存的字段名称,第二个表示该字段的最大长度限制。

          __str__()方法用来描述类。

       创建数据模型后,需要在setting.py文件中加入此应用。

        INSTALLED_APPS元组中添加 'Django_Pro.Users',用来将刚刚生成的Django应用加入到整个Django项目中

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'Django_Pro.Users',
    )
    

         将此应用加入到项目中,可以继续使用syncdb在数据库中生成未创建的数据模型

  • 相关阅读:
    几乎所有企业都要参加的网络安全大考,应该如何准备?
    腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代
    从“指南”到“法律”,网络安全等保2.0即将实施,企业应如何备考?|群分享预告
    享受release版本发布的好处的同时也应该警惕release可能给你引入一些莫名其妙的大bug
    使用Task的一些知识优化了一下同事的多线程协作取消的一串代码
    从真实项目中抠出来的设计模式——第三篇:责任链模式
    从真实项目中抠出来的设计模式——第二篇:过滤器模式
    从真实项目中抠出来的设计模式——第一篇:策略模式
    在redis中使用lua脚本让你的灵活性提高5个逼格
    redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
  • 原文地址:https://www.cnblogs.com/xiao--yao/p/5128643.html
Copyright © 2011-2022 走看看