一: 创建
1. 创建Django项目
django-admin startproject 项目名称
2. 创建app
python mamage.py startapp 名称
3. 新建文件夹(后面还会创建其它的)
templates: 用来存放html
static: 用来存方css, js等渲染文件
二: 配置
1. 在settings.py的installed_apps中注册你的app
templates中的dirs中配置你的templates的文件夹路径os.path.join(BASE_DIR, 'templates')
增添static文件夹路径
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
注意: 这里保存的是个元组, 一定要加逗号
三: 操作
1. 一般的我们都在每一个app下在新建一个urls.py文件
from django.conf.urls import url
urlpatterns = [
# ^: 以 $: 以什么结尾
# views: 视图函数
# name: 可以理解成别名, 无论你前面的路径是什么, 只要其它地方引入这个路径, 而且还配置了name, 那么就可以访问的到
url(r'^$', views.index, name='index')
]
2. settings的urls.py(我们称之为主urls)
# inculde: 需要引入
# app: 新建的app文件夹名称
# urls: app文件夹里的.py文件
# 大致意思就说, 我访问这个url的时候是去app下的urls.py里的url进行访问
urlpatterns = [
url(r'^', include('app.urls'))
]
四: 逻辑(博主自己看的)
1. 在html里如果你想跳转到哪个页面, 需要在标签 href="{% url 'index'%}"
2. 按钮标签type="submit"才可以点击
3. 数据库取出来的数据是元组, 每个数据是一个小元组
类似: results = ((xx, xx, xx, xx), (),)
在html里, 可以对它进行for遍历, 然后用.n的形式将数据取出
比如:
{% for info in results %}
<td>{{ info.0}}</td>
<td>{{ info.1}}</td>
{% endfor %}
标签里传递参数"href="{% url 'add' %}?s_name={{ info.0 }}"
4. form表单提交的时候需要 action="{% url 'add' %}" method="post"
{% csrf_token %}
5. 加载css与js
在html最上面添加:
{% load static%}
href="{% static 'style.css' %}"
6. post参数是标签name
7. 重定向
return redirect('/')
8. 跳转页面是get
发送参数是post
9.
.errborder{
border-color: red;
box-shadow: 0 0 5px red;
}
<input name="email" type="text" id="inputEmail" class="form-control {% if errMsg %}errborder{% endif %}" placeholder="邮箱地址" required value="{% if form.email.value %} {{ form.email.value }} {% endif %}">
这里的意思就说, 当我输入的东西不满足输入框的内容时, 会将输入框颜色变红并提示\
placeholder: 提供可描述输入字段预期值的提示信息, 该提示会在输入字段为空时显示, 并会在字段获得焦点时消失
required: 属性规定必须在提交之前填写输入字段