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在数据库中生成未创建的数据模型

  • 相关阅读:
    Codeforces Round #251 (Div. 2) A
    topcoder SRM 623 DIV2 CatAndRat
    topcoder SRM 623 DIV2 CatchTheBeatEasy
    topcoder SRM 622 DIV2 FibonacciDiv2
    topcoder SRM 622 DIV2 BoxesDiv2
    Leetcode Linked List Cycle II
    leetcode Linked List Cycle
    Leetcode Search Insert Position
    关于vim插件
    Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/xiao--yao/p/5128643.html
Copyright © 2011-2022 走看看