Django web开发笔记

一、Django开发环境搭建:

1.安装python:django可运行于版本python 2.7、3.x

2.安装相应的IDE

3.安装pip:sudo apt-get install python-pip(linux为例)

4.安装django:1)pip安装:sudo pip install Django(linux为例)

                         2)源码安装:网上找教程

5.建立django项目:django-admin startproject projectname(这里可以选择自己要建立项目的文件夹)

二、Django创建工程及应用

1.工程目录详解

     manage.py:管理项目---包括数据库建立、服务器运行、测试。。。

     mysite目录:

               settings.py:配置文件:应用。中间件、数据库、静态目录等。。

               urls.py:URL映射配置文件:决定一个url访问被哪个程序(函数)调用。。

               wsgi.py:python应用程序或框架和web服务器之间的接口

2.创建应用(django中使用应用来分割功能)

     2.1创建应用blog:$python manage.py startapp blog

     2.2添加blog应用:mysite/setting.py->INSTALLED_APPS添加相应的应用名即可(我这里是bikeFauleDia)

                     

3.应用目录详解:

     views.py:相应逻辑函数用来跳转页面或功能处理,即相应客户http请求,进行逻辑处理,返回给用户html页面

     models.py:映射数据库中的表

     admin.oy:admin相关操作

     test.py:测试相关

     templates:用来成才html页面。返回给用户html,是由数据(模型)和模版渲染出来的

4、http请求响应过程

                             

5、数据库连接:

   1、在settings.py文件中设置默认连接数据库的方式(注意settings.py头部加编码)

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',   #数据库类型'NAME': 'bikeData',                     #数据库名字'USER': 'root',                         #用户名'PASSWORD': 'helloworld',               #密码'HOST': '127.0.0.1',                    #服务器地址'PORT': '3306',                         #端口}
}

    2、在组件(App)目录下面都有一个models.py来写本组件(App)的数据模型(以创建应用用户名和密码为例)

from django.db import models
# Create your models here.class User(models.Model):username = models.CharField(max_length=50)password = models.CharField(max_length=50)

   3、创建映射文件:python manage.py makemigrations 组件名称

   4、将映射文件中的映射到数据库中:python manage.py migrate 组件名称

补充:

一、编写Models

                                       

                                 

                                       

二、设置html中css/js等外链样式的时候:

     首先在head中加载      {% load staticfiles %}

     将css/js文件存放如static文件包内

     然后将所要链接的对象改写成django格式:   <link rel="stylesheet" href="{% static 'css/base.css' %}">

Django中页面超链接跳转:

                      

最后一个param是参数,有就传,没有就不穿。

三、django实现简单的登录验证

views.py中:

from django.shortcuts import render
# from django.http import HttpResponse# from django import forms
from bikeFauleDia.models import User
# from django.http.response import HttpResponseRedirect, JsonResponse
from functools import wraps# Create your views here.#check_login用来判断是否登录过,并一解释器的方式过滤页面
def check_login(f):@wraps(f)def inner(request,*arg,**kwargs):if request.session.get('is_logion')=='1':return f(request,*arg,**kwargs)else:return render(request,'BikeFaultDiagnosis/login.html')return innerdef login(request):print(request.method)
#     labers=Falseif request.method=='POST':username=request.POST.get('username')  #获取页面用户名信息password=request.POST.get('password')user=User.objects.filter(username=username,password=password)  #和数据库中用户信息对比print(user)if user:labers=Falserequest.session['is_logion']='1'  #设置session信息用来验证登录情况request.session['user_id']=user[0].idreturn render(request,'BikeFaultDiagnosis/index.html',{'labers':labers})else:labers=Truereturn render(request,'BikeFaultDiagnosis/login.html',{'labers':labers})return render(request,'BikeFaultDiagnosis/login.html')#=================================#========================================@check_login   #装饰器,用来验证是否登录
def index(request):return render(request,'BikeFaultDiagnosis/index.html')

urls.py中:

from django.urls import pathfrom . import views
app_name='bikeFauleDia'urlpatterns = [path('index/', views.index,name='index'),path('carContrl/', views.carContrl,name='carContrl'),path('mapp/', views.mapp,name='mapp'),path('static/', views.static,name='static'),path('table1/', views.table1,name='table1'),path('message/', views.message,name='message'),path('login/', views.login,name='login'),
]

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

随着真全面屏时代的到来&#xff0c;人们已经不再满足于刘海屏、水滴屏以及挖孔屏等&#xff0c;越来越多的手机厂商和消费者开始追求"100%全面屏"。于是如何解决手机前置摄像头便成了最大的难题&#xff0c;毕竟只要在屏幕上放置摄像头必然会影响屏占比&#xff0c;…

Java 调用 Python 方法学习笔记

文章转载自&#xff1a; 作者&#xff1a;IT_xiao_bai 来源&#xff1a;CSDN 原文&#xff1a;https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一阵自刚好用python做了一个sae的算法模型&#xff0c;结果公…

Java 调用 Python 方法学习笔记---之---java调用python深度学习模型运算并返回运算结果给前端(2)

上一章写到Java 调用 Python 方法学习的三种方法&#xff0c;这里强调第三种方法。第三种方法本质上和第二种方法是一样的&#xff0c;都是应用到 Runtime.getRuntime().exec() 去执行文件。要深度理解这种方法&#xff0c;首先要先理解一下Runtime.getRuntime().exec() 。 R…

Part 2: Containers

要求 安装了1.13或者更高版本的Docker阅读了Part1中的定位&#xff08;我没写&#xff09;介绍 是时候用Docker构建一个app了。我们会从构建这样一个app的最底层开始&#xff0c;容器——我们这节所介绍的内容。在这层之上是服务&#xff0c;服务定义了容器们的在生产中的行为&…

(论文)WS-DAN (弱监督数据增强)

背景 近期在做外卖分类的项目&#xff0c;外卖分类属于细粒度图像分类&#xff0c;在分类的过程中要从图片的行人中和非机动车中区分出各类外卖&#xff08;主要是美团、饿了吗&#xff09;。刚好近期发现了一片关于细粒度图像分类较新的论文&#xff08;See Better Before Lo…

罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...

今天开始&#xff0c;木子小花日本语教室将开始同时更新日语文法系列文章 和 日语真题详解系列文章&#xff0c;从五十音图的记忆方法到日语助词的用法整理&#xff0c;从N5的简单句子构成到N1复杂文法的接续记忆方法&#xff0c;力求做出全知乎&#xff08;小声&#xff1a;全…

django的web开发笔记1(智能诊断系统数据概览记录)

接于上一篇&#xff0c;这一篇主要记录如何链接mysql数据库以及从数据库中调用数据信息到页面&#xff0c;同时包含百度地图api的一些使用。 其中包括模块&#xff0c;echert图表绘制数据调用&#xff0c;百度地图数据信息调用以及一些单机效果&#xff0c;页面数据调用等。 1…

左右xcode的重构选项的一些理解

Rename(重命名):对标示符进行重命名,以获得更好的代码可读性,这些标示符包含类,方法或者函数的名称. Extract(抽取):将你在XCode种选择的代码抽取到一个新的方法或函数中. Create SuperClass(创建父类):为Xcode中当前所选的类定义父类 Move Up(上移):将所选择的方法,属性,或实例…

window 如何查看tomcat 实时日志_如何处理生产环境Tomcat的catalina.out日志?

前语&#xff1a;不要为了读文章而读文章&#xff0c;一定要带着问题来读文章&#xff0c;勤思考。作者&#xff1a;jmcui 来源&#xff1a;http://1t.click/x4q# 前言随着每天业务的增长&#xff0c;Tomcat 的catalina.out日志 变得越来越大&#xff0c;占用磁盘空间不说。要…

paddlepaddle测试安装_百度paddlepaddle深度学习7日入门-CV疫情特辑心得

正值疫情严重之日&#xff0c;作为一名研究生被迫待在家里学习&#xff0c;手头的科研项目也严重受挫。。。偶然间&#xff0c;看到微信公众号发布这门课&#xff0c;马上报名&#xff0c;入坑&#xff01;&#xff01;&#xff01;瞬间疫情其间有学习的目标了。。该课程学习依…

apache目录 vscode_VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)安装如下两个主要扩展即可&#xff0c;这两个扩展已关联java项目开发主要使用的maven、springboot等所需要的扩展。开始步骤&#xff1a;在 Visual Studio Code 中打开扩展视图(CtrlShiftX)。输入“java”搜索商店扩展…

android dp转px的公式_Android特效专辑——自定义不一样的Toast

大家都知道&#xff0c;Android的控件有时候很难满足我们的需求&#xff0c;所以我们需要自定义View。自定义的方式很多&#xff0c;有继承原生控件也有直接自定义View的&#xff0c;今天写的是自定义的Toast&#xff0c;当然&#xff0c;这个不是复写Toast,是换一种表达形式&a…

code iban 是有什么组成_深入浅出Zookeeper(四):客户端的请求在服务器中经历了什么...

作者 泊浮目 沃趣科技高级研发工程师出品 沃趣科技1. 前言当我们向zk发出一个数据更新请求时&#xff0c;这个请求的处理流程是什么样的&#xff1f;zk又是使用了什么共识算法来保证一致性呢&#xff1f;带着这些问题&#xff0c;我们进入今天的正文。2. 设计模式&#xff1…

启动activemq_「Java」 - SpringBoot amp; ActiveMQ

一、消息队列消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合、异步消息、流量削锋等问题&#xff0c;实现高性能、高可用、可伸缩和最终一致性架构&#xff0c;是大型分布式系统不可缺少的中间件。目前在生产环境中使用较多的消息队列有ActiveMQ、Rabbit…

永不休眠怎么设置_电脑休眠后应该怎样唤醒?

可能有朋友会碰到这种情况&#xff0c;电脑屏幕显示正在休眠&#xff0c;而且不停的转圈&#xff0c;这是怎么回事&#xff0c;如何唤醒?下面让坚哥为大家分析一下吧。电脑开机显示休眠一般根据以下几种情况进行处理&#xff1a;1、正常电脑休眠&#xff1a;一般的是按一下电源…

配置ssl证书_Mysql配置ssl证书

本环境基于mysql5.6配置&#xff0c;通过openssl生成证书进行配置一、确认环境信息1、查看数据库版本mysql> select version();-----------| version() |-----------| 5.6.36 |-----------2、查看数据库是否支持ssl配置mysql> show variables like have%ssl%;-----------…

如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单

对于一些常用的数据我们往往会希望能够尽量快速的输入&#xff0c;下拉菜单就是一个最简单的解决办法。那么如何实现下拉菜单呢&#xff1f;跟随以下步骤&#xff0c;建立属于自己的下拉菜单吧&#xff01;如何建立下拉菜单&#xff1f;一、确定内容&#xff1a;在单元格中&…

pgsql中float4导致java程序精度丢失_Java基础系列02

注释Java中支持三种注释&#xff1a;1.单行注释以//开始换行结束。2.多行注释以/*开始&#xff0c;以*/结束。3.说明注释以/**开始&#xff0c;以*/结束。关键字关键字&#xff1a;是指在程序中&#xff0c;Java已经定义好的单词&#xff0c;具有特殊含义。例如上篇文章中Hello…

用idea建立jsp项目_用idea创建maven项目,配置tomcat详解

用idea创建maven项目&#xff0c;配置tomcat详解&#xff0c;电脑上得有jdk1.7&#xff0c;或者1.8&#xff0c;然后就是maven3.x吧&#xff0c;再有就是tomcat7以上下面就直接开始看图啦&#xff1a;这个我刚刚开始没注意细看&#xff0c;原来web app 的骨架有2个呢&#xff0…

求立方根_初一数学立方根考点详解,立足基础,把握题型,学会方法

初一数学实数部分&#xff0c;平方根和立方根这两部分的知识点比较的基础&#xff0c;但是考试中却是经常会考&#xff0c;并且有很多的“陷阱”&#xff0c;也是让学生猝不及防&#xff0c;今天我和同学们继续学习交流立方根的知识点&#xff0c;通过详解考点&#xff0c;帮助…