2019独角兽企业重金招聘Python工程师标准>>>

项目架构

MydjangoAPPmigrationsstaticjquery-3.3.1.slim.min.jstemplatesindex.htmllogin.htmladmin.pyapps.pymodels.pytests.pyurls.pyviews.pyMydjangosettings.pyurls.pywsgi.pydbsqlite3manage.py

创建项目

创建项目和项目应用

django-admin startproject Mydjango
cd Mydjango
python manage.py startapp APP

创建HTML的模版目录及模版文件 APP/templates > index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello django</title><script src="/static/jquery-3.3.1.slim.min.js"></script><!--或<script src="{ % static 'jquery-3.3.1.slim.min.js' %}"></scriptsrc>-->
</head>
<body><h1>现在时间 {{ t }}</h1>       <!-- 用{{变量名}}引用views函数中变量展现在前端页面-->
<script>$("h1").css("color","green")
</script>
</body>
</html>

创建HTML的模版目录及模版文件 APP/templates > login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登录系统</title>
</head>
<body>
<h1>登录系统</h1>
</hr><!-- POST 方式提交数据到指定 url 如果同源则可以忽略IP地址-->
<!--路径用别名方式填写,便于以后维护和变更路径-->
<form action="http://127.0.0.1:8000{% url 'reg' %}" method="post"><p>用户名<input type="text" name="user"></p><p>密 &nbsp 码<input type="password" name="passwd"></p><p><input type="submit"></p>{% csrf_token %}                    <!--安全机制,开启csrf_token时候使用-->
</form>
</body>
</html>

Mydjango/APP/static/apps.py

from django.apps import AppConfigclass APPConfig(AppConfig):name = 'APP'

Mydjango/Mydjango/settings.py

==> 注:SECRET_KEY 是唯一识别码,不可变更和复制他用,每个项目都有独立的 SECRET_KEY 码==

# -*- coding:utf8 -*-
import osINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',# 新增项目应用'APP',
]
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware',#视图中间件安全机制,如果使用需要在模版中添加{% csrf_token %}'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR,'templates')],# html 文件存放路径'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',],},},
]
# 访问别名,js jquery css等文件引入时候使用
STATIC_URL = '/static/'
# js jquery css等文件存放路径
STATICFILES_DIRS=(os.path.join(BASE_DIR,"APP/static"),)

MyDjango/APP/views.py

# -*- coding:utf8 -*-
from django.shortcuts import render,HttpResponse,redirect
import time
# Create your views here.def Show_time(requset):                                     #页面展示和CSS测试t = time.ctime()return render(requset,"index.html",locals())            #返回指定页面内容def Article_txt(requset,num):                               #无命名分组正则测试# 第二个参数是正则表达式进行分组的内容# 如果有两个或以上分组传过来需要对应数量的参数# 无命名分组参数名称可自定义return HttpResponse(num)def Title_txt(requset,id):                                  #命名分组正则测试# 第二个参数是正则表达式进行分组的内容# 如果有两个或以上分组传过来需要对应数量的参数# 命名分组参数必须和 urls.py 分组命名保持一致return HttpResponse(id)def User_login(requset):                                    #登录提交数值测试if requset.method == "POST":                            #判断视图函数提交类型print(requset.POST.get("user"))print(requset.POST.get("passwd"))return redirect("/APP")                            #返回指定内容else:return render(requset,"login.html",locals())        #返回指定页面内容

Mydjango/Mydjango/urls.py 全局主urls

# -*- coding:utf8 -*-
from django.contrib import admin
from django.urls import path,re_path            # 引入urls path模块和re_path模块
from django.urls import include                 # 引入url分发 include模块
from APP import views                          # 引入项目应用函数模块urlpatterns = [path('admin/', admin.site.urls),                        #系统默认path('APP/', views.Show_time),                         #普通URL应用path('login/', views.User_login,name="reg"),            #普通URL应用,启用别名re_path(r'^article',include('APP.urls')),              #正则匹配符合条件 在指定包含文件中找
]

Mydjango/Mydjango/APP/urls.py 项目应用子urls

# -*- coding:utf8 -*-from django.contrib import admin
from django.urls import path,re_path
# 引入urls path模块和re_path模块from APP import views
# 引入项目应用函数模块urlpatterns = [re_path(r'(\d{4})',views.Article_txt),          #带正则表达式url应用【无命名分组】re_path(r'(?P<id>[a-z]{4})',views.Title_txt),   #带正则表达式url应用【命名分组】#正则表达式进行分组,分组内容是后置函数的参数#如果两个或多个分组,同样用括号括起来传给后置函数做为参数# ?<名称> 的形式声明分组名称
]

项目测试

启动项目

python manage.py runserver 8000

访问测试(path普通用法)

http://127.0.0.1:8000/APP/

访问测试(re_path正则用法)

http://127.0.0.1:8000/article/1234
# 无命名分组
http://127.0.0.1:8000/article/abcd
# 命名分组

模拟登陆测试

http://127.0.0.1:8000/login/

转载于:https://my.oschina.net/zhaojunhui/blog/1934174

Django实例-静态访问相关推荐

  1. Django之静态文件

    在介绍分布式路由之前,先介绍下静态文件,比如图片,音视频文件,这些都属于静态文件.以百度首页为例: 大部分都是静态文件,以图片为例,浏览器加载img标签,解读里面的src属性,对src里面的地址发ht ...

  2. python 私有和保护成员变量如何实现?—— 单下划线 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量; 双下划线 开始的是私有成员,意思是只有类对象自己能访问...

    默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量. 在python中定义私有变量只需要在变 ...

  3. 怎么用python画心_python怎么画心Python的类实例属性访问规则

    一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...

  4. django处理静态文件

    静态文件指的是js css 还有图片这些,配置方法如下 1. 在设置文件(settings.py)中,installed_apps中添加 django.contrib.staticfiles 然后设置 ...

  5. 不应该通过类实例来访问静态成员

    在用类实现接口时,用实例化的类名.接口的静态成员,报错:不应该通过类实例来访问静态成员,通过接口名.静态成员访问.

  6. Django配置Https访问

    Django配置Https访问 问题描述 相关知识普及 什么是http? 什么是https? http vs https 问题解决 问题分析 解决方案 1 解决方案2 实际操作 验证 重启服务 请求验 ...

  7. nginx简单创建ssl配置https,实现https静态访问图片和页面

    最重要的两点:1.配置nginx开放端口80和443 2.找到nginx对应的文件地址(默认地址为/usr/local/nginx) 1.通过openssl生成rsa非对称密钥 创建一个文件夹,推荐在 ...

  8. python怎么访问实例变量_python实例怎么访问类变量

    python实例怎么访问类变量 发布时间:2020-12-14 09:13:14 来源:亿速云 阅读:102 作者:小新 这篇文章主要介绍了python实例怎么访问类变量,具有一定借鉴价值,需要的朋友 ...

  9. Python Django 配置静态资源访问(settings配置)

最新文章

  1. 如何自己搞一个维基百科?
  2. 阿里云马劲:保证云产品持续拥有稳定性的实践和思考\n
  3. 实时音视频技术的演进与应用
  4. Java网页开发中model实现Serializable接口的原因
  5. javascript-引入-函数的定义与使用-多值传参-ao对象
  6. java corsa_JAVA CORSA休闲车,缔造“城市 生活 元素”
  7. Jmeter插件安装及使用
  8. vscode解决方案 关闭源代码管理
  9. 中南大学网络教育计算机考试答案,2015年6月中南大学网络教育课程考试《计算机组成原理》复习题及参考答案.pdf...
  10. 传奇DBC2000安装及配置图文详细教程
  11. RuntimeError: Exporting the operator var to ONNX opset version 11 is not supported. Please open a bu
  12. 通信原理及系统系列18—— 锁相环(鉴相器分析_1)
  13. 新高考如何选科?职引教你一招简单又直接的方法
  14. Dart语言中的Isolate
  15. 小程序获取用户信息相关 获取头像名称 微信用户
  16. 知识转移策略的跨域故障诊断
  17. c语言指针near,near指针和far指针
  18. unity3d 手游端一些优化技巧
  19. USDTPAY支付通道全行业可接入,安全稳定无痕快捷
  20. 基于JAVA大学生健康电子档案系统计算机毕业设计源码+系统+lw文档+部署

热门文章

  1. C++实现的间接寻址
  2. 正则表达式教程之模式修正符
  3. 轻松scrum之旅 思维导图读书笔记
  4. 简介JavaScript的组成
  5. 判断参数并赋予默认值
  6. GI OPatch升级 The opatch Component check failed. This patch is not applicable for...
  7. 超酷jQuery进度条加载动画集合
  8. SpringMVC RedirectView的使用以及源码分析
  9. 毕业七年 摸爬滚打的心得体会
  10. 一对电话线传输100M带宽不再是问题