网站首页 > 技术文章 正文
一、首先我们用PyCharm来创建一个Django项目终端命令:
django-admin startproject sitename
图形创建:
这样一个Django项目就创建完成了,上面可以看到项目的一个结构.
接下来创建一个APP。
二、创建APP
进入到项目所在目录执行命令
C:\Users\yangmingwei\PycharmProjects\yangmv> python manage.py startapp web
上图可以看到APP的一个结构。
常用命令:
python manage.py runserver 127.0.0.1:8080 #运行服务
python manage.py startapp appname #创建app
python manage.py syncdb #早期版本的同步数据库指令
python manage.py makemigrations #其他版本的指令
python manage.py migrate #其他版本的指令
python manage.py syncdb #同步数据库
python manage.py createsuperuser #创建用户
三、运行
python manage.py runserver 0.0.0.0:8080
这样一个APP就运行起来了
python manage.py syncdb 建立数据库,创建用户后,即可登陆Django admin后台
http://127.0.0.1:8000/admin/
四、添加一个url页面
五、模板渲染
用法和jinja2相同
六、模版语言
模板中也有自己的语言,该语言可以实现数据展示
{{ item }}
{% for item in item_list %} <a>{{ item }}</a> {% endfor %} //for循环
forloop.counter //计数器
forloop.first //第一个
forloop.last
{% if ordered_warranty %} {% else %} {% endif %} //if语句
母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}
{% block title %}{% endblock %}
帮助方法:{{ item.event_start|date:"Y-m-d H:i:s"}}
{{ bio|truncatewords:"30" }}
{{ my_list|first|upper }}
{{ name|lower }}
七、自定义simple_tag
a、在app中创建templatetags模块
b、创建任意 .py 文件,如:xx.py
from django import template
from django.utils.safestring import mark_safe
from django.template.base import resolve_variable, Node, TemplateSyntaxError
register = template.Library()
@register.simple_tag
def my_simple_time(v1,v2,v3):
return v1 + v2 + v3
@register.simple_tag
def my_input(id,arg):
result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
return mark_safe(result)
c、在使用自定义simple_tag的html文件中导入之前创建的 xx.py:
文件名html文件最顶部导入{%load xx %}
d、使用simple_tag
{%my_simple_time 123%}
{%my_input 'id_username''hide'%}
{% load xx %}
<!DOCTYPE html>
<html>
<head> <meta charset="UTF-8"> <title></title> </head>
<body> <h1>我是index</h1>
<h2>{{ name }}</h2>
<h2>{{ age }}</h2>
{% my_simple_time 123%}
{% my_input 'id_username' 'hide' %}
</body>
</html>
e、在settings中配置当前app,不然django无法找到自定义的simple_tag
运行后返回
八、母版、子版、include
母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}{% block title %}{% endblock %}{% include 'include/input.html' %}
母版
子版
include
创建一个子版son的目录
访问
http://127.0.0.1:8000/son/
九、静态文件配置
十、Django登陆实例
导入bootstrap登陆页面代码
<form> <div> <label for="inputEmail3" class="col-sm-2 control-label">Email</label> <div> <input type="email" id="inputEmail3" placeholder="Email"> </div> </div> <div> <label for="inputPassword3" class="col-sm-2 control-label">Password</label> <div> <input type="password" id="inputPassword3" placeholder="Password"> </div> </div> <div> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default">Sign in</button> </div> </div> </form>
登陆测试验证
密码错误时
密码正确时
十一、Model操作数据库增删改查
1、创建model类
2、注册APP,settings添加app
3、生成相应的表
python manage.py makemigrations
python manage.py migrate
4、admin后台注册表
后台可以管理,添加数据
后台可以管理,添加数据
对数据进行增删改查
查
models.UserInfo.objects.all()
成功获取数据
增
models.UserInfo.objects.create(user=a_user,pwd=a_pwd)
删
models.UserInfo.objects.filter(user=a_user).delete()
改
models.UserInfo.objects.filter(user=a_user).update(pwd='520')
猜你喜欢
- 2025-06-13 1分钟,彻底弄懂浏览器缓存策略(浏览器缓存概念)
- 2025-06-13 Go 学习:从环境搭建到写一个 Web 服务
- 2025-06-13 苹果四大系统信息汇总(苹果系统包括哪些手机)
- 2025-06-13 90%企业都适用,搭建性能监控体系照抄就行
- 2025-06-13 Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-多页控件)
- 2025-06-13 电脑常用组合键大全:指尖上的效率革命
- 2025-06-13 基于MATLAB的BP神经网络预测计算App
- 2025-06-13 体验iOS 15之后,我记住了这8个小细节
- 2025-06-13 AI绘画EasyControl来了,宫崎骏「吉卜力」画风开源免费使用
- 2025-06-13 基于MATLAB的Malthus人口预测模型计算App
- 06-13C++之类和对象(c++中类和对象的区别)
- 06-13C语言进阶教程:数据结构 - 哈希表的基本原理与实现
- 06-13C语言实现见缝插圆游戏!零基础代码思路+源码分享
- 06-13Windows 10下使用编译并使用openCV
- 06-13C语言进阶教程:栈和队列的实现与应用
- 06-13C语言这些常见标准文件该如何使用?很基础也很重要
- 06-13C语言 vs C++:谁才是编程界的“全能王者”?
- 06-13C语言无锁编程指南(c语言锁机代码)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)