Django 碎片集合
命令行创建Django项目
熟记建立django命令:django-admin startproject xx (start project)
目录介绍
manage.py 文件是用来管理文件的
// 启动django项目
// python manage.py runserver 127.0.0.1:8001 // wsgi.py 该文件本质是创建socket服务端
// setting 为配置文件
创建project
修改配置文件
注释 csrf
创建模板路径(找到引用的html文件)
# 'DIRS': [os.path.join(BASE_DIR, 'templates')]
添加静态文件,js.css.img(注意,需加逗号。)
# STATICFILES_DIRS = (
# os.path.join(BASE_DIR,'static'),
# )
网页部分

每个网页之间的传送都是以字符串来传输
没加“”是变量 ,而页面传输的是要字符串
入门三件套
(1)HttpResponse:用于向服务端返回字符串,如启动服务后,在浏览器请求:127.0.0.1:8000/index/后,浏览器显示hello world字符内容
from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import HttpResponse
def index(request):
return HttpResponse("hello world") urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^index/', index),
]
(2)render:用于渲染html文件,如启动服务后,在浏览器请求:127.0.0.1:8000/login/后,浏览器会显示login.html文件应被渲染出的结果
from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import render #render用于渲染html文件
def login(request): #request就代表了请求的所有内容
return render(request,"login.html") urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^login/', login),
]
(3)redirect:用于跳转到指定的连接,实例如下:当启动服务端后,在浏览器请求:127.0.0.1:8000/login/后,会显示login.html被渲染的登录界面,提交后若判断登录成功,则会跳转到指定的网页。
login.html文件主要代码:
<body>
<h1>用户登录</h1>
<form action="/login/" method="post"> //action为提交路径,action为请求方式
<p><input type="text" name="username"></p>
<p><input type="password" name="userpswd"></p>
<p><input type="submit" value="提交"></p>
{{ error_msg }} //模板语言,不传值不会显示
</form>
</body>
项目中url逻辑代码:
from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import HttpResponse,render,redirect
def login(request):
if request.method=="GET": #request.method表示请求类型
return render(request,"login.html")
else:#当点击提交按钮执行
print(request.method) #结果:POST
print(request.POST) #结果为登录输入的用户名及密码<QueryDict: {'uesername': ['zhangli'], 'userpswd': ['123']}>
if request.POST.get("username")=="zhangli" and request.POST.get("userpswd")=="":
return redirect("http://www.baidu.com") #如果登录成功,则跳转其他页面
else:
return render(request, "login.html", {"error_msg": "用户名或密码错误"}) #有html有模板语言(占位用)时render用法
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^login/', login),
]
模板语言
主要用于html文件中,暂时主要介绍两种:用于实现循环和占位,占位已在上一节展示,此处不再演示,主要介绍循环模板,如下例:
index.html文件主要代码:
<body> <table border="">
<thead>
<tr>
<th>#</th>
<th>用户名</th>
<th>密码</th>
</tr>
</thead>
<tbody>
{% for i in user_list %}
<tr>
<td>{{ i.id }}</td>
<td>{{ i.name }}</td>
<td>{{ i.pwd }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import HttpResponse,render,redirect
def index(request):
import pymysql
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="", db="day65", charset="utf8")
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select id, name, balance from user")
user_list = cursor.fetchall()
cursor.close()
conn.close()
print(user_list)#查询结果为:[{'id': 1, 'name': 'egon', 'balance': 10000}, {'id': 2, 'name': 'alex', 'balance': 2000}, {'id': 3, 'name': 'wsb', 'balance': 20000}]
return render(request, "index.html", {"user_list": user_list}) urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^login/', login),
url(r'^index/', index),
]
关于HTML页面设置
一:
form表单提交的三要素
1、form的标签属性:action="提交的URL地址",method="POST",不写默认为GET请求。
2、form表单里面要包含有一个submit的按钮。
3、input、select、checkbox、radio、textarea必须有name属性
二:
如果POST请求提交过来的数据某一项有多个值:
比如:多选的select、 checkbox
需要写:request.POST.getlist("xxx")
Django 碎片集合的更多相关文章
- Django之集合函数使用与mysql表的创建特殊字段分析
1. 集合函数的使用场景: -- 单独使用: 不分组, 只查聚合结果 -- 分组使用: 按字段分组, 可查询分组字段与聚合结果 2. 导入聚合函数 from django.db.models impo ...
- django shell 集合
1.创建project $ django-admin startproject mysite 2.真正执行,修改数据库 $ python manage.py migrate 3.运行服务 $ pyth ...
- Django知识点集合
- Django最佳实践(中文版)
这是一份关于开发和部署 Django Web 框架 的动态文档 (会随时更新). 这些准则不应该被认为是 绝对正确 或 唯一 使用 Django 的方法, 应该说这些最佳实践是我们使用框架多年来积累的 ...
- Django 最佳实践
不错的Django实践规范,转自Github: https://github.com/brantyoung/zh-django-best-practices/blob/master/readme.rs ...
- django orm(2)
目录 聚合函数 分组查询 F与Q查询 F查询 Q查询 事务 Django中的事务 orm字段及参数 自定义char字段 聚合函数 这里的聚合函数和SQL里的聚合函数对应,在使用前需要先进行模块的导入: ...
- 单独立使用Django ORM
一.常用的ORM框架简介 在Python下的ORM库不少,同样介绍类似的博文也不少,但是是我非常规的用法,顺便做做笔记.这里参考Python 常用的ORM框架简介文章列出几个, 这个几个我都使用过,但 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(一)
Flume 1.7.0 User Guide Introduction(简介) Overview(综述) System Requirements(系统需求) Architecture(架构) Data ...
- MySQL工具:管理员必备的10款MySQL工具
MySQL是一个复杂的的系统,需要许多工具来修复,诊断和优化它.幸运的是,对于管理员,MySQL已经吸引了很多软件开发商推出高品质的开源工具来解决MySQL的系统的复杂性,性能和稳定性,其中大部分是免 ...
随机推荐
- python之路 堡垒机paramiko
paramiko 1.安装 pip3 install paramiko 二.使用 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建S ...
- ActionScript和js交互
新建的ActionScript项目,默认新建会在“默认包”中创建一个和项目名称相同以as结尾的文件,as项目开始执行时要new一个这样的类在类上方加入一些参数可以为生成的swf初始化一些样式 [SWF ...
- navicate中文破解版,注册码
https://pan.baidu.com/s/1nvIIOad 用户名随意,有下在面的KEY就可以了NAVN-LNXG-XHHX-5NOO
- Linux下同时复制多个文件
方法一 使用cp命令 cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/ 需要注意的是这几个文件之间不要有空格 具有共同 ...
- idea调节字体大小
这是调节前的 这是调节后的 步骤
- scala学习手记37 - 容器的使用
这次统一看一下scala中容器类的几个方法. Set filter()方法 filter()方法用来从Set中过滤获取含有指定特征的元素.示例代码如下: val colors1 = Set(" ...
- No toolchains found in the NDK toolchains folder for ABI with prefix
通过Android Studio 的Sdk Manager安装NDK,安装完之后编译失败,报错信息如下: No toolchains found in the NDK toolchains folde ...
- Eclipse的编码格式设置
在使用Eclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP).这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不用每次修改编码了, ...
- js 深拷贝和浅拷贝理解
作者:进击的袋鼠链接:https://www.zhihu.com/question/23031215/answer/124017500来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- hdu1695莫比乌斯反演模板题
hdu1695 求1<=i<=n&&1<=j<=m,gcd(i,j)=k的(i,j)的对数 最后的结果f(k)=Σ(1<=x<=n/k)mu[x]* ...