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

本文实例讲述了Django网络框架之HelloDjango项目。分享给大家供大家参考,具体如下:

这里将带你从零开始创建一个Django项目,包含完整的MTV架构、创建子应用,及访问静态资源;

项目GitHub地址:https://github.com/ouyangsuo/HelloDjango

@创建Django项目

  • 首先进入特定的虚拟开发环境,参考创建虚拟开发环境
  • 在终端cd到特定目录,执行:
django-admin.py startproject HelloDjango
  • 查看工程目录结构
sudo apt install tree
tree HelloDjango/

工程的创建也可以在PyCharm中通过新建工程并选择DjangoProject来实现;
@工程目录说明

HelloDjango
_init_.py

  • 代表HelloDjango是一个包模块
  • 可以在其中做全局的初始化动作,例如:导入和初始化数据库

settings.py

  • Django项目的配置文件,包含但不限于如下配置:
  • 本项目引用的组件;
  • 已安装的应用;
  • 数据库配置;
  • 时间语言配置;
  • 静态文件访问地址和存储路径;

urls.py

  • 用于维护项目的URL路由映射(当客户端访问时由哪个函数进行响应);
  • 响应函数通常写在项目和子应用的views.py文件中;
  • 路由定义例如下图,表示当用户通过http://yourhost:port/home/发起 访问时,该请求通过views.py中的home函数进行响应(此处的views.py需要手动创建);
from HelloDjango import views
url(r'^home/$', views.home)

wsgi.py

  • 定义WSGI的接口信息;
  • 用于服务器部署;
  • 通常使用系统默认设置即可;
  • 项目部署将在后续章节中继续讲述;

manage.py

  • Django用于管理本项目的命令行工具,无需修改,功能包括但不限于:
  • 运行站点;
  • 进行数据迁移操作;

@创建子应用

  • 终端执行
python manage.py startapp MyApp

在HelloDjango的settings.py中注册应用

# 配置应用
INSTALLED_APPS = [
    # 一堆默认的django应用
    ...
    # 自定义的应用
    'MyApp',
]

@应用目录结构说明

  • _ init _.py:代表当前目录是一个包;
  • admin.py:管理站点模型的声明文件,默认为空;
  • apps.py:应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据;
  • models.py:添加模型层数据类文件;
  • views.py:定义URL相应函数(路由规则);
  • migrations包:自动生成,数据迁移文件;
  • tests.py:测试代码文件

@定义数据模型(Models)

定义班级类,在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

在models.py中定义学生类

# 学生类
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)

@执行数据迁移

数据迁移的概念,就是将模型映射到数据库的过程;

生成迁移文件(在MyApp下的migrations包中)

python manage.py makemigrations

执行数据迁移

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

@生造一些数据

生造班级数据如下

生造学生数据如下

@创建页面(Templates)

修改HelloDjango下的settings.py中的模板配置

TEMPLATES = [
  {
    ...
    # 将模板页面放在根目录/templates目录下的
    'DIRS': [
      os.path.join(BASE_DIR, 'templates'),
    ],
    ...
  },
]

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

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

创建【根目录/static/img/】目录并丢入dameinv.jpg

创建templates目录并在其中创建dameinv.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>大美女</title>
</head>
<body>
大美女来鸟~<br>
{# 加载静态资源 #}
{% load static %}
{# 加载图片位置 #}
<img src="{% static 'img/dameinv.jpg' %}" alt="我是大美女">
</body>
</html>

@定义路由映射(Views)

在HelloDjango下的urls.py中插入如下代码

from HelloDjango import views
from MyApp.admin import site
# 分发路由请求
urlpatterns = [
  # url(r'^admin/', admin.site.urls),
  url(r'^admin/', site.urls),
  # http://127.0.0.1:8000/请求交由HelloDjango下的views中的index函数处理
  url(r'^$',views.index),
  # http://127.0.0.1:8000/dameinv请求交由HelloDjango下的views中的dameinv函数处理
  url(r'^dameinv/',views.dameinv),
  # http://127.0.0.1:8000/myapp/xxx统统交由MyApp下的urls重新分发
  url(r'^myapp/',include('MyApp.urls'))
]

在MyApp的urls.py中插入如下代码

# 定义路由映射
urlpatterns = [

  # 请求http://127.0.0.1:8000/myapp/,交由MyApp下的views.py中的welcome函数处理
  url(r'^$', views.welcome)
]

@定义路由处理函数(Views)

在HelloDjango下的views中插入如下代码

# 处理http://127.0.0.1:8000/
def index(request):
  # 直接在页面输出内容
  return HttpResponse('Django:江中自有黄金屋,屋里把那代码撸,江中自有颜如玉,硬盘堆满几百G')
# http://127.0.0.1:8000/dameinv/
def dameinv(request):
  # 渲染页面并呈现给用户
  return render(request,'dameinv.html')

在MyApp下的views.py中插入如下代码

def welcome(request):

# 查询所有学生
students = Students.objects.all()
# 构造数据字典
data={
  'students':students
}
# 将数据丢给templates/welcome.html进行渲染并呈现给用户
return render(request,'welcome.html',context=data)

@运行项目

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

python manage.py runserver
python manage.py runserver [port]
python manage.py runserver [ip:port]
  • 默认使用8000端口;
  • ip指定为0.0.0.0的时候,匹配本机的全部ip;

@访问测试

访问127.0.0.1:8002/

访问127.0.0.1:8002/dameinv/

访问127.0.0.1:8002/myapp/

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

(0)

相关推荐

  • 详解Python网络框架Django和Scrapy安装指南

    Windows 上的Django安装 如今Python使用的范围越来越广,所以学会关于它比较火的网络框架非常有必要.要安装Django,首先要知道你电脑上的python是哪个版本的,至于如何安装python的解释器环境此处不做介绍,网上的教程很多. Django 是一个 Python Web 框架,因此需要在您的机器上安装 Python.本文是基于Python3.6的环境安装介绍的. 要查看你电脑上的python版本,使用以下指令: python --version 要安装django,还要安装

  • 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.创建工程:

  • 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+Vue.js搭建前后端分离项目的示例

    在写这篇文章的时候,顺带学习了一下关于Markdown的使用方法. 笔者是个渣渣,一切都是自己在摸索的学着,所以也谈不上什么体系.系统学习.在这里主要是为了实现把项目前后端分离开. 这里假设你的电脑上所需的django.vue.js已经有了,如果没有,往下拉就是vue.js的安装流程.django前面写过了,就不赘述了. 一,正常搭建前后端分离项目流程 1.创建django项目 命令: django-admin startproject ulb_manager 结构: ├── manage.py

  • 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项目运行因中文而乱码报错的几种情况解决

    前言 django项目开发过程中,碰到了多种情况下的中文乱码报错,在这儿做一下处理总结. 报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128) 1.因代码中的中文注释问题的报错 django项目的.py文件文件中加入了中文注释,经常会因此报错而导致无法运行,究其原因是编码的问题,最后的解决办法是直接在有中文注释的.py文件的顶部加上: # -*

  • Django网络框架之创建虚拟开发环境操作示例

    本文实例讲述了Django网络框架之创建虚拟开发环境操作.分享给大家供大家参考,具体如下: @什么是虚拟开发环境 很多时候一台服务器上要运行多个Web应用程序: 而这些应用程序之间使用的第三方框架往往是互不相同且互不兼容的: 虚拟环境的作用就是为每个Web应用创建一个隔离的独立的运行环境,使得各个应用的依赖互不影响: @通过venv安装虚拟环境(Python3.4以上版本) sudo apt-get install python3-venv # cd到合适目录后,创建一个虚拟环境目录 pytho

  • 开始着手第一个Django项目

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

  • Django查找网站项目根目录和对正则表达式的支持

    如果你想通过http://127.0.0.1:8000/看网站根目录你将看到一个404错误消息.Django不会增加任何东西在网站根目录,在任何情况下这个URL都不是特殊的 就像在URLconf中的其他条目一样,它也依赖于指定给它的URL模式. 尽管匹配网站根目录的URL模式不能想象,但是还是值得提一下的. 当为网站根目录实现一个视图,你需要使用URL模式`` '^$'`` , 它代表一个空字符串. 例如: from mysite.views import hello, my_homepage_

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

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

  • Django框架安装及项目创建过程解析

    1.安装Django 在命令行模式下使用pip工具来安装Django,pip工具的安装方法见此篇 pip install django 2.确认是否安装成功 在Python交互模式下 import django django.get_version() 3.创建Django项目 在命令行模式下 django-admin.py startproject demo 注意:创建的项目在当前执行命令所在目录下 4.创建APP 在命令行模式下,进入上一步创建的项目目录demo下,里面包括同名子目录demo

  • django项目环境搭建及在虚拟机本地创建django项目的教程

    1.Python虚拟环境创建 首先我们为什么要创建虚拟环境呢?因为不同的项目所依赖的环境不一样,他们需要不同的第三方库等等.为了避免冲突,所以我们要创建虚拟环境,在次此我用的的Linux ubuntu和pycharm. 在虚拟机上创建Python虚拟环境命令为: mkvirtualenv -p /usr/bin/python3 虚拟环境名字 (-p参数选择虚拟环境要用的Python解释器) 2.创建django项目 第一步:进入到你要创建项目的目录 cd ~/project 第二步:安装djan

  • Django项目创建到启动详解(最全最详细)

    一.前言 (一).概述 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C: (二).预处理 配置环境 OS:CentOS 7.6 64bit python版本:3.7 Wind

  • 用Eclipse 创建一个简单的web项目(图文教程)

    Eclipse neon 汉化版 ; 1.右击新建 --> 选择 动态Web项目 2. 填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomcat version ; 点击完成 即可创建 项目; 2.1:项目名称: 2.2:项目位置: 2.3: Dynamic Web Module Version 和 Tomacat Version 之间有版本上的匹配关系: 匹配关系如下图 3. 创建成功后的项目结构: 4. 在创建好项目结构之后 先查看一下 项目的

  • Springboot整合Dubbo教程之项目创建和环境搭建

    本文介绍了Springboot整合Dubbo教程之项目创建和环境搭建,分享给大家,具体如下: 1. 使用IDEA新建一个Maven项目 新建项目 选择Maven后,点击next下一步 选择项目类型 配置项目的Maven坐标 设置项目名称和保存位置 修改项目的pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM

  • python+django+rest框架配置创建方法

    安装好所需要的插件和包: python.django.pip等版本如下: 采用Django REST框架3.0 1.在python文件夹下D:\python\Lib\site-packages\django\bin打开cmd命令工具,本人将python文件夹名字改为了wwj,请注意: mkdir tutorial cd tutorial virtualenv env source env/bin/activate pip install django pip install djangorest

  • 初次使用IDEA创建maven项目的教程

    第一次使用IDEA,创建一个maven项目,首先下载maven,官方地址:http://maven.apache.org/download.cgi 解压,在环境变量里配置 path里 D:\maven\apache-maven-3.5.2\bin,打开cmd,输入mvn -version 可以查看是否配置成功 打开IDEA,new project,选择maven项目,Project SDK选择自己的jdk, 选中webapp项目,点击next,GroupId是组名(一般是域名+公司名或姓名),A

随机推荐