Python Django 之 简单入门
一、下载Django并安装
1、下载Django
2、安装
二、新建Django project
1、使用django-admin新建mysite 项目
django-admin startproject mysite
在C:\Users\hope\python目录新建Django项目
2、查看mysite里面的内容
1)外层mysite
2)内存mysite
settings(设置)、url(路由分配)、wsgi(web服务器)
三、新建APP
1、使用python manage.py startapp 新建app
python manage.py startapp blog
2、查看新建app
3、查看app内的文件
四、简单的Djagno使用一
注意:
1)request接收前端数据
2)HttpResponse的使用,向前端发送数据
1、url
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('cur_time/',views.cur_time),
2、views
from django.shortcuts import render,HttpResponse # Create your views here.
def cur_time(request):
return HttpResponse("<h1>ok</h1>")
3、templates
暂无
4、启动
python manage.py runserver 8080
五、简单的Djagno使用二--后端向前端发送数据
注意:
1)render的使用:render封装了HttpResponse
2)render后端向前端,发送数据的格式render(request,"cur_time.html",{"abc":times})
3)前端接收后端数据格式{{ }}
1、url
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('cur_time/',views.cur_time),
2、views
from django.shortcuts import render,HttpResponse
import datetime
# Create your views here.
def cur_time(request):
times=datetime.datetime.now()
return render(request,"cur_time.html",{"abc":times})
3、templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>当前时间:{{ abc }}</h1>
</body>
</html>
4、启动
不用重新启动,Django会自动刷新
六、简单的Djagno使用三--前端向后端发送数据
注意:
1)action
2)method
3)req: req.POST.get
1、url
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('cur_time/',views.cur_time),
path('userInfo/',views.userInfo),
]
2、views
from django.shortcuts import render,HttpResponse
import datetime
# Create your views here.
def userInfo(req):
if req.method=="POST":
username=req.POST.get("username",None)
sex=req.POST.get("sex", None)
email=req.POST.get("email", None) print(username)
print(sex)
print(email)
return render(req,"index.html")
3、templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/userInfo/" method="post">
<p>姓名<input type="text" name="username"></p>
<p>性别<input type="text" name="sex"></p>
<p>邮箱<input type="text" name="email"></p>
<p><input type="submit" name="submit"></p> </form>
</body>
</html>
4、启动填写提交的信息
5、Forbidden(跨站请求攻击)与处理
1)点击提交,出现Forbidden (403) 跨站请求攻击
2)处理Forbidden (403)
注释掉setting中的MIDDLEWARE的 'django.middleware.csrf.CsrfViewMiddleware',
3)再次点击提交
4)后台输出对应的数据
七、简单的Djagno使用四--前后端数据交互
1、url
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('cur_time/',views.cur_time),
path('userInfo/',views.userInfo),
]
2、views
from django.shortcuts import render,HttpResponse
import datetime
# Create your views here.
user_list=[]
def userInfo(req):
if req.method=="POST":
username=req.POST.get("username",None)
sex=req.POST.get("sex", None)
email=req.POST.get("email", None) user={"username":username,"sex":sex,"email":email}
user_list.append(user)
return render(req,"index.html",{"user_list":user_list})
3、templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/userInfo/" method="post">
<p>姓名<input type="text" name="username"></p>
<p>性别<input type="text" name="sex"></p>
<p>邮箱<input type="text" name="email"></p>
<p><input type="submit" name="submit"></p> </form>
<hr>
<h1>
数据展示
</h1>
<tale border="10px">
<tr>
<td>姓名</td>
<td>性别</td>
<td>邮箱</td>
</tr>
<br/>
<tr>
{% for i in user_list %}
<td>{{ i.username }}</td>
<td>{{ i.sex }}</td>
<td>{{ i.email }}</td>
<br/>
{% endfor %}
</tr> </tale>
</body>
</html>
4、启动展示
1)前台输入新数据到后端
2)前台展示后端发来的数据
八、简单的Djagno使用四--从数据库中存取数据
注意:
1)setting查看数据库配置
2)models写法
1、url
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
#path('cur_time/',views.cur_time),
path('userInfo/',views.userInfo),
]
2、views
from django.shortcuts import render,HttpResponse
import datetime
from blog import models def userInfo(req):
if req.method=="POST":
u=req.POST.get("username",None)
s=req.POST.get("sex", None)
e=req.POST.get("email", None)
models.UserInfo.objects.create(
username=u,
sex=s,
email=e,
)
user_list=models.UserInfo.objects.all() return render(req,"index.html",{"user_list":user_list})
3、 templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/userInfo/" method="post">
<p>姓名<input type="text" name="username"></p>
<p>性别<input type="text" name="sex"></p>
<p>邮箱<input type="text" name="email"></p>
<p><input type="submit" name="submit"></p> </form>
<hr>
<h1>
数据展示
</h1>
<table border="1px">
<tr>
<td>姓名</td>
<td>性别</td>
<td>邮箱</td>
</tr>
<br/>
<tr>
{% for i in user_list %}
<td>{{ i.username }}</td>
<td>{{ i.sex }}</td>
<td>{{ i.email }}</td> {% endfor %}
</tr>
<br/>
</table>
</body>
</html>
4、models
from django.db import models # Create your models here.
class UserInfo(models.Model):
username=models.CharField(max_length=60)
sex = models.CharField(max_length=60)
email = models.CharField(max_length=60)
5、database
python manage.py makemigrations
python manage.py migrate
6、重启后数据不再丢失
Python Django 之 简单入门的更多相关文章
- Python django实现简单的邮件系统发送邮件功能
Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...
- Python Django 实现简单注册功能
Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...
- Python爬虫的简单入门(一)
Python爬虫的简单入门(一) 简介 这一系列教学是基于Python的爬虫教学在此之前请确保你的电脑已经成功安装了Python(本教程使用的是Python3).爬虫想要学的精通是有点难度的,尤其是遇 ...
- python简介与简单入门
1.计算机基础 计算机组成: 输入输出设备内. 存储器 .cpu .电源 .显卡 中央处理器(cpu) 处理各种数据 相当于人的大脑 内存 存储数据 相当于临时记忆 硬盘 存储数据 相当于人的永久记忆 ...
- pythonのdjango Form简单应用。
Form表单有两种应用场景: 1.生成HTML标签. 2.验证输入内容. 如果我们在django程序中使用form时,需要在views中导入form模块 from django import form ...
- python socket 编程简单入门
想讲讲套接字的概念 套接字,即英文socket的中文意译,起源于20世纪70年代,是加利福利亚大学的伯克利版本UNIX(称为BSD UNIX)的一部分.目的是实现主机上运行的一个程序与另一个运行的程序 ...
- Python Requests库简单入门
我对Python网络爬虫的学习主要是基于中国慕课网上嵩天老师的讲授,写博客的目的是为了更好触类旁通,并且作为学习笔记之后复习回顾. 1.引言 requests 库是一个简洁且简单的处理HTTP请求的第 ...
- 这个Python爬虫的简单入门及实用的实例,你会吗?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:HOT_and_COOl 利用爬虫可以进行数据挖掘,比如可以爬取别人的网 ...
- python - Django - restframework 简单使用 和 组件
FBV 和 CBV CBV 通过函数调用方法FBV 通过类调用方法 其本质上都是 CBV 但是 FBV 内部封装了关于 method 的方法,由于基本上都是前端的请求,所有像GET,POST等方 ...
随机推荐
- ssh连接docker镜像ubuntu与debian
用密码登录root docker官网给的sshdemo是ubuntu的,https://docs.docker.com/engine/examples/running_ssh_service/ 亲 ...
- Linux下的JDK和OpenJDK有什么具体的区别
OpenJDK是JDK的开放原始码版本,以GPL(General Public License)协议的形式放出(题主提到的open就是指的开源).在JDK7的时候,OpenJDK已经作为JDK7的 ...
- Java 8新特性探究(二)深入解析默认方法
什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. 为什么要有这个特性?首先,之前的接口是个双刃剑,好处是 ...
- python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)
这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...
- legend2---开发日志5(如何解决插件的延迟问题,比如vue)
legend2---开发日志5(如何解决插件的延迟问题,比如vue) 一.总结 一句话总结:元素可以先设置为隐藏,这样就不会让用户看到延迟的问题,然后等加载完再显示, 元素先设置为隐藏 加载完再显示 ...
- 如何下载一个物种的全部EST序列 | NCBI | 表达序列标签
EST:表达序列标签,expressed sequence tags . 顾名思义,很好理解,就是表达出来的序列,即从基因组DNA上表达出来的RNA,但是我们没法测序RNA,所以我们最终测的是表达序列 ...
- 老老实实学WCF
老老实实学WCF 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定.配置服务.寄宿服务.通过添加服务引用的方式配置客户端并访问服务.我 ...
- p1473 Zero Sum
搜索,最后判断一下是否结果为0就行. #include <iostream> #include <cstdio> #include <cmath> #include ...
- KM算法 带权二分匹配 O(n^3)
#include<cstdio> #include<cstdlib> #include<cstring> #include<string> #inclu ...
- java 字符串截取的几种方式(转)
众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的 ...