创建Django项目图文实例详解

本文实例讲述了创建Django项目的方法。分享给大家供大家参考,具体如下:

创建Django项目

创建一个HelloDjango项目

GitHub地址:https://github.com/liangdongchang/HelloDjango.git

1、在linux命令窗口终端下
  • 创建Django项目

    django-admin.py startproject HelloDjango
    sudo apt install tree
    tree HelloDjango/

2、在PyCharm中创建

file->New Project->Dhango

3、默认工程结构
  • HelloDjango

    • _init_.py
    • 一个普通的包初始化模块
    • 可以在其中做全局的初始化动作
      • 例如:导入和初始化数据库
    • settings.py
    • Django项目的配置文件
    • 本项目引用的组件
    • 项目名
    • 数据库配置
    • 时间、语言
    • 静态文件访问地址和存储路径
    • urls.py
    • 维护项目的URL路由映射
      • 当客户端访问时由哪个模块进行响应
    • 使用views.py中的函数响应请求
      • url(r'^$', views.home)
    • 将特定请求全部转交子模块中的urls.py处理
      • url(r'^axf/', include(‘App.urls', namespace='axf'))
    • wsgi.py
    • 定义WSGI的接口信息
    • 用于服务器部署
    • 通常使用系统默认设置即可
  • manage.py
    • Django用于管理本项目的命令行工具
    • 运行站点
    • 数据库自动生成
4、开启Django服务

在左下角找到Terminal,点击,在命令窗口中输入:

python manage.py runserver

在浏览器输入服务器地址:http://127.0.0.1:8000/,可以看到服务器已经启动,按ctrl+c可以关闭服务器。

5、创建子应用

在命令窗口中输入:

python manage.py startapp MyApp

MyApp结构如下:

  • 应用目录结构

    • _init_.py:其中暂无内容,使得app成为一个包
    • admin.py:管理站点模型的声明文件,默认为空
    • apps.py:应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
    • models.py:添加模型层数据类文件
    • views.py:定义URL相应函数(路由规则)
    • migrations包:自动生成,数据迁移文件
    • tests.py:测试代码文件
6、注册子应用

在工程目录的settings.py中注册应用

7、 定义数据模型(Models)
1、定义班级类

在MyApp目录下的models.py中插入如下代码:

# 班级类
class Grade(models.Model):

 # 班级名称
 gname = models.CharField(max_length=10)

 # 开班日期
 gdate = models.DateTimeField()

 # 女生数量
 ggirlnum = models.IntegerField()

 # 男生数量
 gboynum = models.IntegerField()

 # 是否已逻辑删除该班级
 isDelete = models.BooleanField(default=False)

 # 定义班级的打印输出信息
 def __str__(self):
  return self.gname
2、定义学生类
# 学生类
class Students(models.Model):
 # 学生姓名
 sname = models.CharField(max_length=20)

 # 学生性别
 sgender = models.BooleanField(default=True)

 # 学生年龄
 sage = models.IntegerField()

 # 备注信息
 sinfo = models.CharField(max_length=20)

 # 是否已逻辑删除该学生
 isDelete = models.BooleanField(default=False)

 # 学生所属的班级
 sgrade = models.ForeignKey(Grade,on_delete=None)

 def __str__(self):
  return self.sname

on_delete参数的各个值的含义:

on_delete=None,    # 删除关联表中的数据时,当前表与其关联的field的行为
on_delete=models.CASCADE,  # 删除关联数据,与之关联也删除
on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做
on_delete=models.PROTECT,  # 删除关联数据,引发错误ProtectedError
# models.ForeignKey('关联表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL, # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空,一对一同理)
# models.ForeignKey('关联表', on_delete=models.SET_DEFAULT, default='默认值')
on_delete=models.SET_DEFAULT, # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)
on_delete=models.SET,   # 删除关联数据,
 a. 与之关联的值设置为指定值,设置:models.SET(值)
 b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
8、数据迁移
  • 迁移的概念: 就是将模型映射到数据库的过程
  • 生成迁移
    python manage.py makemigrations

  • 执行迁移(在MyApp下的migrations包中)
    python manage.py migrate

    • 迁移过后,框架为我们自动生成了库表,Django默认自带的数据库是SQLite数据库;
    • 数据库文件生成路径为工程根目录下的db.sqlite3;

    • 生成的数据表结构如图

给数据库添加数据:
班级表:

学生表:

9、创建页面(Templates)
  • 修改HelloDjango下的settings.py中的模板配置

  • 修改settings.py中的模板配置中的静态资源配置

    # 静态文件访问路由
    
    STATIC_URL = '/static/'
    
    # 静态文件存储目录:根目录/static/
    
    STATICFILES_DIRS = [
     os.path.join(BASE_DIR, 'static'),
    ]

  • 创建【根目录/static/img/】目录并放入一张wolf.jpg图片

  • 创建templates目录并在其中创建wolf.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>忧伤的狼</title>
    </head>
    <body>
    {# 加载静态资源 #}
    {% load static %}
    
    {# 加载图片位置 #}
    <img src="{% static 'img/wolf.jpg' %}" alt="我忧伤的眼神">
    </body>
    </html>

10、定义路由映射(urls)
  • 在HelloDjango下的urls.py中插入如下代码

     from django.conf.urls import url
     from django.contrib import admin
    
     from MyApp import views
    
     urlpatterns = [
     url(r'^admin/', admin.site.urls),
     # http://127.0.0.1:8000/请求交由HelloDjango下的views中的index函数处理
     url(r'^wolf', views.wolf),
    ]
    

11、定义路由处理函数(Views)
  • 在MyApp下的views中插入如下代码:

    # http://127.0.0.1:8000/wolf/
    
    def wolf(request):
    
    # 渲染页面并呈现给用户
    
     return render(request,'wolf.html')

12、运行项目

终端执行如下命令中的一条

python manage.py runserver
python manage.py runserver [port]
python manage.py runserver [ip:port]
  • 默认执行起来的端口是8000
  • ip指定为0.0.0.0的时候,匹配本机的全部ip
  • 浏览器访问:localhost:8000
13、访问测试

[参考网址]:https://www.jb51.net/article/162625.htm

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

(0)

相关推荐

  • Django在Win7下的安装及创建项目hello word简明教程

    python广受欢迎的编程语言之一,本文简述了python 的django 框架安装与开发. Django在Win7下的安装及创建项目hello word,相对而言非常简单,这里直接给出命令和代码,不懂的可以查阅相关资料. 1.安装: 命令如下: pip install Django==1.6.5 2.创建项目 django-admin.py startproject web 修改 urls.py url(r'^blog/index/$','blog.views.index'), 3.创建工程:

  • ubuntu16.04在python3 下创建Django项目并运行的操作方法

    第一步:创建django项目 打开终端,切换到期望所写项目的地址:cd python3_django_projects; 输入命令:django-admin.py startproject Hello;(即创建好了一个名为Hello的项目) 第二步:启动项目 进入Hello目录:cd Hello; 输入命令python manage.py runserver; 或 python3 manage.py runserver;(自己对应python版本) 第三步:在浏览器中输入http://127.0

  • 对Python的Django框架中的项目进行单元测试的方法

     Python中的单元测试 我们先来回顾一下Python中的单元测试方法. 下面是一个 Python的单元测试简单的例子: 假如我们开发一个除法的功能,有的同学可能觉得很简单,代码是这样的: def division_funtion(x, y): return x / y 但是这样写究竟对还是不对呢,有些同学可以在代码下面这样测试: def division_funtion(x, y): return x / y if __name__ == '__main__': print division

  • 使用PyCharm创建Django项目及基本配置详解

    pycharm是个很不错的python开发工具,大大缩短了python项目的创建时间以及调试时间 在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上面的页面,则正面项目创建成功 目录结构: 2.创建APP 在Django项目中可以包含多个APP

  • 开始着手第一个Django项目

    一但你安装好了python,django和(可选的)数据库及相关库,你就可以通过创建一个project,迈出开发django应用的第一步. 项目 是 Django 实例的一系列设置的集合,它包括数据库配置.Django 特定选项以及应用程序的特定设置. 如果第一次使用 Django,必须进行一些初始化设置工作. 新建一个工作目录,例如 /home/username/djcode/ ,然后进入该目录. 这个目录应该放哪儿? 有过 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档

  • Python之Web框架Django项目搭建全过程

    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:可通过pip freeze查看已安装库版本信息. Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! Django 特点 强大的数据库功能 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句. 自带的强大的后

  • 运行django项目指定IP和端口的方法

    一.django项目启动命令 默认IP和端口 python manage.py runserver 指定端口 python manage.py runserver 192.168.1.50:8080 二.遇到的问题 Invalid HTTP_HOST header: '192.168.1.50'. You may need to add '192.168.1.50' to ALLOWED_HOSTS. 修改settings.py,将192.168.1.50添加到ALLOWED_HOSTS中 AL

  • python使用Pycharm创建一个Django项目

    本文为Django项目创建的简单介绍,更为详细的Django项目创建,可以参考如下教程: Django入门与实践-//www.jb51.net/article/64109.htm Pycharm 版本: Professional 2017.1 Django 版本: 1.8.7 在软件安装和环境配置完成后,打开Pycharm. Step 1. 点击 File --> New Project 弹出如下窗口: 图中编号1处为项目位置:编号2处为使用的模板语言类型,默认为Django模板语言:编号3处是

  • Django网络框架之HelloDjango项目创建教程

    本文实例讲述了Django网络框架之HelloDjango项目.分享给大家供大家参考,具体如下: 这里将带你从零开始创建一个Django项目,包含完整的MTV架构.创建子应用,及访问静态资源: 项目GitHub地址:https://github.com/ouyangsuo/HelloDjango: @创建Django项目 首先进入特定的虚拟开发环境,参考创建虚拟开发环境 在终端cd到特定目录,执行: django-admin.py startproject HelloDjango 查看工程目录结

  • 创建Django项目图文实例详解

    本文实例讲述了创建Django项目的方法.分享给大家供大家参考,具体如下: 创建Django项目 创建一个HelloDjango项目 GitHub地址:https://github.com/liangdongchang/HelloDjango.git 1.在linux命令窗口终端下 创建Django项目 django-admin.py startproject HelloDjango sudo apt install tree tree HelloDjango/ 2.在PyCharm中创建 fi

  • 使用SpringBoot整合ssm项目的实例详解

    SpringBoot是什么? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. Spring Boot 现在已经成为 Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成.成为 SpringBoot 全家桶,成为一把万能钥匙. SpringBoot的特点 1.创建独立的 Spring 应用程序 2.嵌入的 Tomcat ,无需部署 WAR 文件 3.简化 Maven 配置 4.自动配置 Spr

  • IOS 创建并发线程的实例详解

    IOS 创建并发线程的实例详解 创建并发线程 主线程一般都是处理UI界面及用户交互的事儿的.其他的事一般就要另外的线程去处理,如下载,计算等... 现在先简单创建3个线程,分别打印出1-1000,,为了方便,线程3就放在主线程中执行. - (void) firstCounter{ @autoreleasepool { NSUInteger counter = 0; for (counter = 0; counter < 1000; counter++){ NSLog(@"First Cou

  • mysql创建删除表的实例详解

    表的创建命令需要: 表的名称 字段名称 定义每个字段(类型.长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name column_type); 现在,我们将在 test 数据库中创建以下表. create table tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tuto

  • Django项目使用ckeditor详解(不使用admin)

    效果图: 1.安装django-ckeditor pip install django-ckeditor 如果需要上传图片或者文件,还需要安装pillow pip install pillow 2.配置模型字段 如果编辑器需要上传图片或者文件,需要引入RichTextUploadingField,否则只需要引入RichTextField from ckeditor_uploader.fields import RichTextUploadingField class Activity(model

  • 使用IDEA创建java项目的步骤详解(hello word)

    前提:已安装好jdk,配置好环境变量.我使用的是java 8 首先在自己的D盘下建一个文件夹,用来存放我们待会新建的项目,我创建了IdeaProject: 1,第一步打开idea 2,第二步选择创建java项目,并选择自己的jdk(我自己本地已经配置了所以有),没有可以点击new去自己的安装目录下找,一般默认安装C:\Program Files\Java,然后选择next 下一步 3,第三步将"Create project from template"前面的勾去掉,然后点击"

  • 亲手教你IDEA2020.3创建Javaweb项目的步骤详解

    IDEA2020.3激活码 最新idea2020激活码超详细教程(设置插件仓库成功激活到2099年) 关于最新IDEA2020.2.1,2.2,3以上破解,激活失效,重新激活的问题 创建Javaweb项目 第一步:在当前Project下创建一个Java的Module 第二步:右键当前模块选择Add Frameworks Support勾中Web Application 第三步:点击Edit Configurations,点击+号选择Tomcat Server的Local然后再选择Deployme

  • C#创建、部署、调用WebService图文实例详解

    我们在以前介绍过关于C#创建.部署.调用WebService的教程,有兴趣的可以参阅:.NET C#创建WebService服务简单实例.本文是通过实例让大家更加详细的了解流程,一起来学习下. webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice的例子.这里我用的是Visual Studio 2015开发工具. 首先创建一个空的Web应用程序. 然后鼠标右键点击项目,选择 添加>新建项. 选择Web服务

  • Python数据库sqlite3图文实例详解

    目录 前言 sqlite3数据库 1.需要的模块(只有一个) 2.模块的使用 2.1创建与数据库的连接 2.2创建游标 2.3创建 table 2.4插入数据 2.5查找数据 快乐的coding时间! 最后 前言 提到数据库,大家第一时间想到的可能是 sql 数据库,这种数据库非常好用,但是对于新手就不是很容易上手,需要熟悉一段时间才可以大概掌握.这种数据库在大型的项目开发过程中用到的地方不会很多,但是一些普通的项目还是很实用的,大大减少了代码量. sqlite3数据库 sqlite3 数据库是

  • 基于脚手架创建Vue项目实现步骤详解

    第一步 准备工作 1.下载安装Node.js 验证是否安装的方法,在命令行输入node -v 2.安装Vue 在命令行输入npm install -g @vue/cli 查看Vue版本号 npm vue --version 如果Vue版本太低,先卸载Vue低版本 npm uninstall vue-cli -g 第二步 创建Vue项目 1. 打开要创建路径 2-1.vue CLI3版本输入vue create test创建名为test的项目 接下来会问你一系列的问题 Please pick a

随机推荐