Python之路58-Django安装配置及一些基础知识点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路58-Django安装配置及一些基础知识点相关的知识,希望对你有一定的参考价值。
目录
一、安装Django
二、创建工程
三、创建app
四、静态文件
五、模板路径
六、设置settings
七、定义路由
八、定义视图
九、渲染模板
十、运行
Django是一款Python的web框架
一、安装Django
pip3 install django
安装完成后C:\Python35\Script下面会生成django-admin
二、创建工程
django-admin startproject 工程名
如django-admin startproject mysite
mysite
- mysite
__init__.py
settings.py # 配置文件
urls.py # url对应关系
wsgi.py # 遵循wsgi规范,实际生产环境uwsgi+nginx
manage.py # 管理django程序
三、创建app
python manage.py startapp cmdb
python manage.py startapp xxoo...
app目录
- migrations 数据修改表结构记录
admin.py django为我们提供的后台管理
apps.py 配置当前app
models.py ORM,写指定的类,通过命令可以创建数据结构
tests.py 单元测试
views.py 业务逻辑代码
四、静态文件
配置静态文件目录
STATICFILES_DIRS = ( os.path.join(BASE_DIR,"static"), )
五、模板路径
配置模板的路径
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‘, ], }, }, ]
六、设置settings
注释掉
‘django.middleware.csrf.CsrfViewMiddleware‘
七、定义路由
from django.conf.urls import url from django.contrib import admin from cmdb import views urlpatterns = [ url(r‘^admin/‘, admin.site.urls), # url(r‘^index/‘, views.index), url(r‘^login‘, views.login), url(r‘^home‘, views.home), ]
八、定义视图
from django.shortcuts import render # Create your views here. from django.shortcuts import HttpResponse from django.shortcuts import render from django.shortcuts import redirect def index(request): return HttpResponse("<h1>CMDB</h1>") def login(request): # request包含用户提交的所有信息 # 获取用户提交方法 # print(request.method) error_msg = "" if request.method == "POST": # 获取用户通过POST提交的数据 username = request.POST.get("username", None) password = request.POST.get("password", None) if username == "root" and password == "123": # 去跳转到百度 # return redirect("http://www.baidu.com") # 跳转到home return redirect("/home") else: # 用户名密码不匹配 error_msg = "用户名或密码错误" return render(request, "login.html", {"error_msg": error_msg}) USER_LIST = [ {"username": "alex", "email": "sdasda", "gender": "男"}, {"username": "eric", "email": "sdasda", "gender": "男"}, {"username": "seven", "email": "sdasda", "gender": "男"}, ] # for index in range(20): # temp = {"username": "alex" + str(index), "email": "sdasda", "gender": "男"} # USER_LIST.append(temp) def home(request): if request.method == "POST": # 获取用户提交的数据 POST请求中 username = request.POST.get("username") email = request.POST.get("email") gender = request.POST.get("gender") temp = {"username": username, "email": email, "gender": gender} USER_LIST.append(temp) return render(request, "home.html", {"user_list": USER_LIST})
def func(request): # request.method GET/POST # request.GET.get("", None) 获取请求发来的数据 # request.POST.get("", None) 获取请求提交的数据 return HttpResponse("字符串") return render(request, "html模板路径") return redirect("/url路径")
九、渲染模板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body style="margin: 0;"> <div style="height: 48px;background-color: #dddddd;"></div> <div> <form action="/home" method="POST"> <input type="text" name="username" placeholder="用户名"/> <input type="text" name="email" placeholder="邮箱"/> <input type="text" name="gender" placeholder="性别"/> <input type="submit" value="添加"/> </form> </div> <div> <table> {% for row in user_list %} <tr> <td>{{ row.username }}</td> <td>{{ row.gender }}</td> <td>{{ row.email }}</td> </tr> {% endfor %} </table> </div> </body> </html>
模板渲染
变量 {{ 变量名 }}
def func(request): return render(request, "html模板", {"current_user": "alex"})
<!-- 模板 --> <html> <body> <div>{{ current_user }}</div> </body> </html> <!-- 渲染后生成的页面 --> <html> <body> <div>alex</div> </body> </html>
条件判断 {% if 条件 %}{% else %}{% endif %}
def func(request): return render(request, "html模板路径", {"current_user": "alex", "user_list": ["alex", "eric"], "age": 18})
{% if age %} <a>有年龄</a> {% if age > 16 %} <a>老男人</a> {% else %} <a>小鲜肉</a> {% endif %} {% else %} <a>无年龄</a> {% endif %}
for循环 {% for row in user_list %}{% endfor %}
def func(request): return render(request, "html模板路径", {"current_user": "alex", "user_list": ["alex", "eric"]})
<html> <body> <div>{{ current_user }}</div> <ul> {% for row in user_list%} <li>{{ row }}</li> {% endfor %} </ul> </body> </html>
十、运行
python manage.py runserver 127.0.0.1:8000
本文出自 “八英里” 博客,请务必保留此出处http://5921271.blog.51cto.com/5911271/1926729
以上是关于Python之路58-Django安装配置及一些基础知识点的主要内容,如果未能解决你的问题,请参考以下文章
敏捷之路 C++ (一) jenkins配置-VS工程自动编译基本配置