Django 的基础知识
创建django工程
命令行创建 django
django-admin startproject (工程名称)
mysite
mysite 对整个程序进行配置
init
settings 配置文件
url url对应关系
wsgi 遵循wsgi规则 uwsgi+nginx
manage.py 管理django程序
python manage.py
python manage.py startapp xx
python manage.pymakemigrations
python.manage.py migrate
运行django功能
python manage.py runserver 127.0.0.1:8001
pycharm 创建django工程
创建 app
python manage.py startapp cmdb
python manage.py startapp openstack
app
migrations 数据修改表结构
admin django的后台管理
apps 配置当前app
models 写指定的类 通过命令创建数据库结构
views 业务代码
1,配置模板的路径
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
2,配置静态目录
STATIC_URL = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
内容整理
1,创建Django 工程
django-admin startproject 工程名
2,创建app
cd 工程名
python manage.py startapp cmdb
3,静态文件
project.settings.py
STATICFILES_DIRS =(
os.path.join(BASE_DIR,"static"),
)
4,模板路径
DIRS ==> [os.path.join(BASE_DIR,'templates'),]
5,settings 中
middlerware
#注释 csrf
6,定义路由规则
url.py
"login" --> 函数名
7,定义视图函数
app 下 view.py
def func(request):
#request.method GET/POST
#http://127.0.0.1:8009/home?nid=123&name=baobaohui
#request.GET.get('',None) 获取请求发来的数据
#request.POST.get('',None)
#return HttpResponse("字符串")
#return render(request,"HTML模板的路径")
#return redirect("/只能填url")
8,模板渲染–特殊的模板语言
变量名
def func(request):
return render(request,"index.html",{'current_user':"宝宝辉"})
index.html
<html>
<body>
<div>{{current_user}}</div>
</body>
</html>
====> 最后生成的字符串
<html>
<body>
<div>宝宝辉</div>
</body>
</html>
for 循环
USER_LIST = [
{'username':'宝宝辉','sex':'男'}
]
for index in range(20):
temp = {'username':'宝宝辉'+str(index),'sex':'男'}
USER_LIST.append(temp)
def home(request):
if request.method == "POST":
u = request.POST.get('username')
s = request.POST.get('sex')
temp = {'username':u,'sex':s}
USER_LIST.append(temp)
return render(request,'home.html',{'user_list':USER_LIST})
home.html
<html>
<body>
{% for row in user_list %}
<tr>
<td>{{ row.username }}</td>
<td>{{ row.sex }}</td>
</tr>
{% endfor %}
</body>
</html>
索引
def func(request):
return render(request, "index.html", {
'current_user': "alex",
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}})
index.html
html>
..
<body>
<div>{{current_user}}</div>
<a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a>
</body>
</html>
条件
def func(request):
return render(request, "index.html", {
'current_user': "alex",
"age": 18,
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}})
index.html
<html>
..
<body>
<div>{{current_user}}</div>
<a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a>
{% if age %}
<a>有年龄</a>
{% if age > 16 %}
<a>老男人</a>
{% else %}
<a>小鲜肉</a>
{% endif %}
{% else %}
<a>无年龄</a>
{% endif %}
</body>
/html>