Django的下载安装以及实现一个简单示例
一.Django下载安装
1. 下载Django:
pip3 install django==1.11.9 (大的版本1.11不要错)
2.创建一个django project

输入命令: django-admin startproject mysite (创建了一个名字叫mysite的django项目)
注意: pip下载下来的django就理解成一个模块,而不是django项目,这个模块可以帮助我们创建django项目

.manage.py ------- django项目里边的工具,通过它可以调用django shell 和数据库,关闭启动项目与项目的交互等,不管你将框架分了几个文件,必然有一个启动文件,其实他们本身就是一个文件.
.settings.py ------- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量.
.urls.py ------- 负责把URL模式映射到应用程序.
.wsgi ------- runserver命令就使用wsgiref模块做简单的web server,后面会看到renserver命令,所有与socket相关的内容都在这个文件里面.
Python manage.py runserver 127.0.0.1:8000 #此时可以启动django项目了,只不过什么逻辑
也没有.
3.在mysite目录下创建应用
python manage.py startapp blog #通过执行manage.py文件来创建应用,执行这句话一定要注意,
你应该在这个manage.py的文件所在目录下执行这句话,因为其他目录里面没有这个文件
python manage.py startapp blog2 #每个应用都有自己的目录,
每个应用的目录下都有自己的views.py视图函数和models.py数据库操作相关的文件

我们现在只需要看其中的两个文件
models.py : 之前我们写的那个名为model的文件就是创建表用的,这个文件就是存放与该app(应用)相关的表结构
views.py : 存放与该app相关的视图函数的
4. 启动django项目
Python manage.py runserver 8080 #Python manage.py runserver 127.0.0.1:8080,
本机就不用写IP地址了 如果连端口都没有写,默认是本机的8000端口
这样我们的django就启动起来了!当我们访问:http://127.0.0.1:8080/时就可以看到:

二. 基于Django实现的一个简单的实例
现在实现一个用户输入一个timer路径,返回一个含有当前时间的页面,想想怎么做?用户输入网址-->路径-->函数-->返回数据(文件)
URL控制器 (第一步就找它)
from django.contrib import admin
from django.urls import path #找对应的函数,是哪个app里面的函数
from app01 import views urlpatterns = [
path('admin/', admin.site.urls), #这个先不用管,后面会学
path('index/',views.index),
]
#'index/' 表示文件所在的路径 views.index 是views里边的index函数方法
视图(views)
from django.shortcuts import render,HttpResponse # Create your views here.
#逻辑和返回数据
def index(request): import datetime
now=datetime.datetime.now()
ctime=now.strftime("%Y-%m-%d %X")
return render(request,"index.html",{"ctime":ctime}) #render,渲染html页面文件
并返回给浏览器 想在浏览器页面上显示什么就要写成字典然后写在render里面
templates(存放页面html文件的)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h4>当前时间:{{ ctime }}</h4> </body>
</html> #渲染的时候要用两层花括号才能识别
通过pycharm来运行项目:

看控制台:

执行效果如下:

配置启动的端口:


在settings配置文件里面有关于templates(放html文件的配置):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] #有些版本的django没有写这个,
自己写一下,就是配置一个django找html文件的路径,render方法就来这里找html文件
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
post请求的时候有时会发现Forbidden错误

现在只需要做一步,在settings配置文件里面将这一行注释掉,这是django给你加的一个
csrf的认证
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Django的下载安装以及实现一个简单示例的更多相关文章
- web 框架的本质及自定义web框架     模板渲染jinja2   mvc 和 mtv框架   Django框架的下载安装   基于Django实现的一个简单示例
		
Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...
 - django的下载安装,目录结构的介绍,简单的django应用
		
1.django的下载安装 pip3 install django==1.11.9 2.django的创建 1.在windows的cmd窗口下 1.1创建django项目 django-admin s ...
 - 开源IDE CodeBlocks的下载安装、配置、简单编程
		
如果没有集成开发环境(IDE),在linux下开发程序将非常繁琐,IDE是指将编辑.编译.调试等功能集成在一个桌面环境上,这样就大大方便了用户.IDE一般包括代码编辑器.编译器.调试器和图形界面用户工 ...
 - CodeBlocks的下载安装、配置、简单编程
		
CodeBlocks的下载安装.配置.简单编程 IDE简介 http://www.baidu.com/s?wd=codeblocks ,这里只是介绍Windows平台下的IDE环境配置. CodeBl ...
 - Django入门第一步:构建一个简单的Django项目
		
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...
 - 第一步 django的下载安装
		
django是python众多web框架中比较有名的一个,以大包大揽功能俱全而著名.但作为重量级的web框架,难免性能上回有所损失,不过由于其封装了各种API,在开发的时候会便利许多.所以也是深受欢迎 ...
 - vue-cli安装以及创建一个简单的项目(二)(vuex使用、发行一个简单的app)
		
1.vuex的使用 vuex是vue的状态管理中心,vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,常用于: 1.多个视图依赖同一状态(l例:菜单导航) 2.来自不同 ...
 - asp.net WebService的一个简单示例
		
不同的系统之间经常会需要数据的交换对接,而Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范 ...
 - vue-cli安装以及创建一个简单的项目(一)(Node\npm\webpack简单使用)
		
1.关系介绍 1.简单的说 Node.js 就是运行在服务端的 JavaScript. 2.NPM是随同NodeJS一起安装的包管理工具(新版的nodejs已经集成了npm),能解决NodeJS代码部 ...
 
随机推荐
- 第52节:String,权限修饰符,方法,集合
			
String String str1 = "dashu"; String str2 = "dashu"; String string = new String( ...
 - No bean named 'xxxxx' is defined异常,已解决,这个坑很难发现,你get了吗
			
出现No bean named 'xxxxx' is defined异常 没有定义名为xxx的bean 如果你的代码写的都对,根本问题只有一个地方出错了,那就是你的 basePackage=的包名路径 ...
 - 为什么推荐前端使用Vue.js
			
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
 - Kubernetes集群搭建之Etcd集群配置篇
			
介绍 etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点. 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过g ...
 - golang实现参数可变的技巧
			
Go 使用默认参数的技巧 Functional Options Pattern in Go golang中没有函数默认参数的设计,因此需要些特别的技巧来实现. 假如我们需要订购一批电脑,其中电脑配置c ...
 - clion调试postgresql
			
clion怎么调试postgresql呢? clion使用cmake去编译项目的,但是大家编译postgresql用的是make.虽然项目中也有CMakeLists.txt文件,但是cmake会报错, ...
 - mysql中计算日期整数差
			
TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期时间表达式datetime_expr1 ...
 - JAVA课程设计——一个简单的教务人事管理系统
			
大三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈. 上学期学习了面向对象程序设计,课程设计的题目使用JAVA语言完成一个简单的教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和 ...
 - 十分钟了解ZAB(Zookeeper Atomic Broadcast)协议
			
Zookeeper基于ZAB(Zookeeper Atomic Broadcast),实现了主备模式下的系统架构,保持集群中各个副本之间的数据一致性. ZAB协议定义了选举(election).发现( ...
 - yum安装php  Requires: libzip5(x86-64) >= 1.3.2
			
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...