当前位置: 首页 > news >正文

网站建站的基本步骤设计说明万能模板300字

网站建站的基本步骤,设计说明万能模板300字,做门户网站怎么赚钱,少儿编程入门教学day03 django知识点 项目相关路由相关 urls.py视图相关 views.py模版相关 templates资源相关 static/media 1.项目相关 新项目 开发时#xff0c;可能遇到使用其他的版本。虚拟环境 老项目 打开项目虚拟环境 1.1 关于新项目 1.系统解释器命令行【学习】 C:/python38- p…day03 django知识点 项目相关路由相关 urls.py视图相关 views.py模版相关 templates资源相关 static/media 1.项目相关 新项目 开发时可能遇到使用其他的版本。虚拟环境 老项目 打开项目虚拟环境 1.1 关于新项目 1.系统解释器命令行【学习】 C:/python38- python.exe- Scripts- pip.exe- pip3.8.exe- django-admin.exe- Lib- re.py- site-pakages- djangoC:/python39- python.exe- Scripts- pip.exe- pip3.9.exe- django-admin.exe- Lib- re.py- site-pakages- djangoC:/python39/Scripts/pip install djangodjango项目 E: cd code C:/python39/Scripts/django-admin startproject mysite目录结构 E:\code\mysite- mysite- urls.py URL和函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]运行项目 cd mysite C:\python39\python manage.py runserver 对应关系 urls.py from django.http import HttpResponsedef demo(request):return HttpResponse(OK)urlpattens [path(demo/,demo), ]2.虚拟环境命令行【线上部署】 C:\python39- python.exe- Scripts- pip.exe- pip3.9.exe- virtualenv.exe- Lib- re.py- site-pakagesC:\python39\pip install virtualenva.创建虚拟环境 C:\python39\Scripts\virtualenv F:\envs\x1 --pythonpython3.9F:\envs\x1- python.exe- Scripts- pip.exe- pip3.9.exe- activate.exe- django-admin.exe- Lib- site-pakages- django- ..b.激活虚拟环境 F: cd F:\envs\x1\ activate.exec.激活虚拟环境 (x1)pip install django (x1)pip install django3.2d.创建项目 (x1)django-admin startproject mysite3.虚拟环境Pycharm【最新django】 E:\PycharmProjects\day002 E:\PycharmProjects\day002\.venv注意第2期都是基于这种方式去创建项目。 4.虚拟环境Pycharm【老django】 本质 虚拟环境安装老版本django基于django-admin 创建项目在Pycharm中配置项目 环境 绑定 a.虚拟环境 b.安装老版本django (.venv) E:\PycharmProjects\day003pip install django3.2c.创建django项目 (.venv) E:\PycharmProjects\day003django-admin startproject day003E:\PycharmProjects\day003\day003- day003...- manage.py(.venv) E:\PycharmProjects\day003django-admin startproject day003 .E:\PycharmProjects\day003- day003...- manage.pyd.Pycharm配置 小结 系统解释器 和 虚拟环境 命令行【线上部署】 安装virtualenv 创建虚拟环境 激活虚拟环境 安装django pip install django pip install django3.2创建新项目 django-admin startproject xxxx编写代码 运行项目 python manage.py runserver python manage.py runserver 8000 python manage.py runserver 127.0.0.1:8000Pycharm【开发】 最新版本的django 注意事项pycharm为了防止大家用低版本pycharm例如2020.1版本的pycharm老旧版本的django 虚拟环境 安装老旧django 创建项目 django-admin startproject xxxx .Pycharm配置项目 环境 1.2 关于老项目 代码下载下来创建虚拟环境虚拟环境 项目绑定 安装必备的模块 注意requirements.txt Python解释器问、文档 1.3 纯净版项目 django内置有100个功能5个功能是项目使用概率比较大。 创建Django项目时默认配置上功能。创建Django项目时默认配置剔除。 Django纯净和Flask等轻量级框架的对比 Flask一个py文件项目基于蓝图项目创建结构化。Django默认的配置剔除 好几个文件。 a.创建项目 E:/PycharmProjects/day004- day004- urls.py URL和函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]b.默认功能 INSTALLED_APPS [django.contrib.admin, # django内置后台管理简单数据库的增删改查django.contrib.auth, # 用户登录和认证权限django.contrib.contenttypes, # 复杂表结构关系django.contrib.sessions, # 如果项目中有登录成功让用户可以访问。django.contrib.messages, # 消息展示依赖Sessiondjango.contrib.staticfiles, # 静态资源处理图片、css、js等 ]DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db.sqlite3,} }# 找功能模块将功能模块中需要创建表结构创建出来。 python manage.py makemigrations 【找功能模块】【表结构】【生成配置文件并放到指定目录】 python manage.py migrate 【读取生成的配置文件提交到数据库】python manage.py createsuperuser纯净版配置 # Application definitionINSTALLED_APPS [# django.contrib.admin,# django.contrib.auth,# django.contrib.contenttypes,# django.contrib.sessions,# django.contrib.messages,django.contrib.staticfiles, ]MIDDLEWARE [django.middleware.security.SecurityMiddleware,# django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middleware.csrf.CsrfViewMiddleware,# django.contrib.auth.middleware.AuthenticationMiddleware,# django.contrib.messages.middleware.MessageMiddleware,django.middleware.clickjacking.XFrameOptionsMiddleware, ]TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [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,],},}, ] from django.contrib import admin from django.urls import pathurlpatterns [# path(admin/, admin.site.urls), ]小结 本地开发基于Pycharm创建项目新版本、老旧版本地开发打开别人的项目创建纯净版项目 1.4 关于APP 创建的django项目 E:/PycharmProjects/day004- day004- urls.py URL和函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]关于APP主要用于业务功能模块的开发。 创建APP python manage.py startapp app01 python manage.py startapp app02E:/PycharmProjects/day004- day004- urls.py URL和视图函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]- app01- migrations - ..- ...- models.py 用ORM代替原生SQL语句对类和对象进行操作 - SQL语句 - 自动执行编写类 makemigraions/migrate - 数据库- apps.py app01.apps.App01Config- admin.py 配合django-admin可以对当前app中的表进行增删改查操作。- test.py 单元测试不写单元测试- views.py 业务功能【视图函数】- app02- migrations - models.py- admin.py- apps.py- test.py- views.py注意一般情况下一个app就够了开源组件公共模块拆分到单独的app模块。 多app应用的目录结构 单独1个app的项目 【推荐】 E:/PycharmProjects/day004- day004- urls.py URL和视图函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]- app01- migrations - ..- ...- models.py 用ORM代替原生SQL语句对类和对象进行操作 - SQL语句 - 自动执行编写类 makemigraions/migrate - 数据库- apps.py app01.apps.App01Config- admin.py 配合django-admin可以对当前app中的表进行增删改查操作。- test.py 单元测试不写单元测试- views.py 业务功能【视图函数】多个app 多个app放在apps的文件夹中 【推荐】 E:/PycharmProjects/day004- apps- app01- views.py- admins.py- models.py...- app02- views.py- admins.py- models.py...- app03- views.py- admins.py- models.py...- day004- urls.py URL和视图函数对应关系- wsgi.py 底层请求处理入口【同步】- asgi.py 底层请求处理入口【异步】- settings.py 配置文件内置配置文件global_settings假设200项配置 用户3项配置 201配置- manage.py [管理项目]到底什么时候创建1个app什么时候创建多个app 案例1公司官网 app01: - 公司官网开发主要使用者学员。 app02: - 内部运营使用的功能模块 app03: - 导师下载作业、批改作业、评分。案例2公司官网【现阶段】 app01:公司官网开发主要使用者学员。内部运营使用的功能模块导师下载作业、批改作业、评分。app01: - 公司官网开发主要使用者学员。 app02: - 内部运营使用的功能模块 app03: - 导师下载作业、批改作业、评分。2.路由系统 2.1 常见操作 通俗的语言来表示URL - 函数对应关系 2.2 路由源码分析 2.2.1 路由定义的本质 from django.urls import path, re_path from apps.www import viewsfrom django.urls import URLPattern from django.urls.resolvers import RoutePatternurlpatterns [URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None),path(login/, views.login, namen1),# http://127.0.0.1:8000/info/2222/# http://127.0.0.1:8000/info/2222/?a11b12# path(info/int:v1/, views.info),# http://127.0.0.1:8000/other/11/yiyebaitou/# http://127.0.0.1:8000/other/222/shiyi/# path(other/int:v1/str:v2/, views.other),# path(xx/path:v2/, views.xx),# path(xx/uuid:v2/, views.xx),# http://127.0.0.1:8000/yy/2014-11-11# re_path(ryy/(\d{4})-(\d{2})-(\d{2})/, views.yy), ]编写路由 启动项目时 urlpatterns [对象(URL地址、函数,对象(URL地址、函数,对象,对象,对象URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None), ]# 内部路由匹配的时默认执行 URLPattern.resolveself.pattern.match()return ResolverMatch(...)# 进阶操作 # 路由系统中的扩展点URLPattern.resolveRoutePattern.match自定义ResolverMatch类用户浏览器访问 http://127.0.0.1:8000/login/django的源码内部一定会匹配获得相应的视图函数 http://127.0.0.1:8000 /login/urlpatterns [对象(URL地址、函数,对象(URL地址、函数,对象,对象,对象 ]urlconf day006.urls resolver URLResolver(RegexPattern(r^/), urlconf)resolver_match resolver.resolve(request.path_info)callback, callback_args, callback_kwargs resolver_match执行视图函数 听完的感受 流程是懵逼Django请求的流程懵逼【证明】。 我们需要基于源码记住 urlpatterns [path(login/, views.login),path(info/int:v1/, views.info), ]urlpatterns [URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None),URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None),URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None),URLPattern(RoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None), ]源码内部路由匹配的时是怎么做的 URLPattern.resolveRoutePattern.matchdef resolve(self, path):match self.pattern.match(path)if match:new_path, args, captured_kwargs match# Pass any default args as **kwargs.kwargs {**captured_kwargs, **self.default_args}return ResolverMatch(self.callback,args,kwargs,self.pattern.name,routestr(self.pattern),captured_kwargscaptured_kwargs,extra_kwargsself.default_args,) def match(self, path):match self.regex.search(path)if match:# RoutePattern doesnt allow non-named groups so args are ignored.kwargs match.groupdict()for key, value in kwargs.items():converter self.converters[key]try:kwargs[key] converter.to_python(value)except ValueError:return Nonereturn path[match.end() :], (), kwargsreturn None 2.3 name别名 path(login/, views.login, namen1), URLPattern(RoutePattern(login/, namen1, is_endpointTrue), views.login, None, n1),def login(request):return HttpResponse(欢迎登陆)from django.urls import reverseresult reverse(n1) print(result) # login/path(api/auth/login/int:v1/, views.login, namen1),def login(request,v1):return HttpResponse(欢迎登陆)from django.urls import reverseresult reverse(n1,kwargs{v1:123}) print(result) # /api/auth/login/123/result reverse(n1,kwargs{v1:999}) print(result) # /api/auth/login/999/name存在的意义例如用户登录登录程序 /api/auth/login/ - 函数登录 /api/user/account/ - 函数账单path(api/auth/login/, views.login, namen1), path(api/user/account/, views.account, namen2),def login(request):# 当用户登录成功之后需要让用户跳转到 /api/user/account/ 页面# return redirect(/api/user/account/)# url reverse(n2) # /api/user/account/# return redirect(url)return redirect(n2)def account(request):return HttpResponse(用户信息)name存在的意义例如权限管理 A用户有权访问的网址/api/auth/login/ /api/user/account//api/user/order//api/user/order/int:v1/B用户有权访问的网址/api/user/account//api/user/order//api/user/order/int:v1/A用户有权访问的网址n1n2n3B用户有权访问的网址n2n3总结 创建Django项目 虚拟环境 新版本虚拟环境 老旧版 app的概念 1个app多个appapps文件夹 路由系统 【必备】常见路由操作 # http://127.0.0.1:8000/info/2222/ # http://127.0.0.1:8000/info/2222/?a11b12 path(info/int:v1/, views.info),# http://127.0.0.1:8000/other/11/yiyebaitou/ # http://127.0.0.1:8000/other/222/shiyi/ path(other/int:v1/str:v2/, views.other),# path(xx/path:v2/, views.xx), # path(xx/uuid:v2/, views.xx),# http://127.0.0.1:8000/yy/2014-11-11 re_path(ryy/(\d{4})-(\d{2})-(\d{2})/, views.yy),【必备】name别名 反向别名生成URL地址权限分配不会用URL网址而是使用name别名。 【可选】源码的流程扩展点 MyURLPattern(MyRoutePattern(login/, nameNone, is_endpointTrue), views.login, None, None), URLPattern(RoutePattern(login/, namen1, is_endpointTrue), views.login, None, n1),django.urls.resolvers.URLResolver.resolve django.urls.URLPattern.resolve django.urls.resolvers.RoutePattern.matchdjango.urls.resolvers.URLResolver.resolvefor obj in ....:# django.urls.URLPattern.resolve# obj.resolve# self.pattern.matchdjango.urls.resolvers.RoutePattern.match
http://www.w-s-a.com/news/326153/

相关文章:

  • 网站运营优化方案广西桂林公司
  • 快递网站策划怎么做ppt长春建设信息网站
  • 做服装搭配图的网站有哪些经营一个网站要怎么做
  • 呼市品牌网站建设那家好增城住房和建设局网站
  • 网站首页布局设计代码太仓网站开发建设服务
  • 学校网站建设与管理porto wordpress模板
  • 余姚做网站公司网站建设有哪些基本流程
  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗
  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件