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

门户网站建设方案公司深圳做网站推广公司哪家好

门户网站建设方案公司,深圳做网站推广公司哪家好,app网站开发书籍下载,怎么申请公司web框架本质 socket 业务逻辑框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket 路由系统 自己写逻辑#xff08;views#xff09; jinja2 模板引擎(templates) 实现动态页面#xff0c;修改返回给浏览器的字符串 去…web框架本质 socket 业务逻辑框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket 路由系统 自己写逻辑views jinja2 模板引擎(templates) 实现动态页面修改返回给浏览器的字符串 去db取数据models web框架流程 流程 wsgi -- 路由系统 -- views(核心逻辑) --- template拿html --- db model)1 用户请求到wsgiwsgi整理用户请求env,加上一个返回数据的conn传给后面路由系统 2 请求到路由系统 3 请求到view, 核心逻辑 3 tpl 拿模板 模板引擎 jinja2 4 数据库拿数据 ORMModel 5 合在一起 6 使用 步骤 1 传过来的conn回传数据 install django and create a django project pip install django1.9.5 django-admin startproject my_site 创建工程 cd mysite python manage.py startapp monitor 创建APP python manage.py startapp cmdb 创建APP1 python manage.py runserver 0.0.0.0:9999这几条命令然并卵可以在pycharm上面图形化操作 来吧开始django吧 全局配置 一般一看就明白添加一个新的 STATICFILES_DIRS ( os.path.join(BASE_DIV, statics), ) js css img放在这里 后台管理manage.py 命令 python manage.py makemigrations python manage.py migrate python manage.py createsuperuser # 创建超级用户管理后台 python manage.py shell在settings 里面配置数据库引擎 路由系统 urls 普通 r^/index/, vews.index, 动态传参数 r^/index/(\d), vews.index, 路由分发 r^/index/, include(appname.urls), template 模板 取值 list dict object 通过.来取值 li [1,2,3] dic {k1:v1, k2:v2} {{ k1 }} {{ li.0 }} {{ dic.k1 }}逻辑控制 {% for item in data %}{{ item }}{{ forloop.counter }} 特殊变量 索引{{ forloop.first }} 特殊变量 是否是第一个{{ forloop.last }} 特殊变量 是否是最后一个 {% endfor %}{% if 1 1%} {% else %} {% endif %}母版定义{% block blockname %}{% endblock %}使用{% extend front/xx.html %}经验一般会定义4个blocktitle css content js 子html在继承的时候一般都是修改这几块导入直接导入一个小的元素{% include front_app/ss.html %}内置函数自定义函数 -- 然并卵直接在python中做不就行了分类filter 只能穿一个参数 支持if的条件通过管道simple_tag 可以穿多个参数 不支持if的 条件settings中注册APP在APP里面创建templatetags创建任意py文件在里面写函数from django import templatefrom django.utils.safestring import mark_safefrom django.template.base import resolve_variable, Node, TemplateSyntaxErrorregister template.Library() # 这个名字不能改register.filterdef plus_10(arg):return arg 10register.simple_tagdef my_simple_time(v1,v2,v3):return v1 v2 v3register.simple_tagdef my_input(id,arg):result input typetext id%s class%s / %(id,arg,)return mark_safe(result)使用{% load xx %} 先导入{% k1|f1 %}{% my_simple_time 1 2 3%} 在使用后面是参数{% my_input id_username hide%} 简单数据库管理 基本说明 class注册admin admin.site.register(CLASS)def __str__(): 为了让现实好看在model下面覆盖此方法 有个admin的页面可以使用简单的数据库管理后台 定制admin界面 写一个定制类继承 admin.ModelAdmin class BookAdmin(admin.ModelAdmin):list_display (name, publisher, publish_date)list_filter (publisher, publish_date)list_editable (name, publish_date)list_per_page 10 # 每页显示多少list_selected_related ()serach_fields (name, publish__name) # __ is magic# 定制详细页面filter_horizontal (authors, ) # 针对多对多 Manytomanyraw_id_filds (publisher, ) # 针对ForeignKey国内有一个xadmin 深度定制admin效果很棒定制admin action actions [f1, ] # 在BookAdmin装饰类中新增 f1bookAdmin, request, querySet 是一个函数处理逻辑的定制显示颜色 在model中写一个函数返回style 在BookAdmin 装饰类中 list_display (f1) 数据库model 写classclass User(model)modes.CharField(maxlength32)modes.IntegerField()配置settings INSTALL_APPS创建数据库 python manage.py makemigrations python manage.py migratecurd操作models.UserInfo.objects.create(username“yangli”, password123456) models.UserInfo.objects.create(**dict) obj models.UserInfo(usernameyangli2, password12345) obj.save()models.UserInfo.objects.filter( ).delete() models.UserInfo.objects.filter( ).update(password123) # 这种修改方式效率高models.UserInfo.objects.get(id1) models.UserInfo.objects.filter( ).all() models.UserInfo.objects.filter( ).all().values(id,email) # 字典 models.UserInfo.objects.filter( ).all().value_list(id,imail) # list and tuple models.UserInfo.objects.filter( ).first() last() models.UserInfo.objects.filter(nameyangli) models.UserInfo.objects.filter(name__exactyangli) models.UserInfo.objects.filter(name__iexactyangli) models.UserInfo.objects.filter(name__containsyangli) models.UserInfo.objects.filter(name__icontainsyangli) models.UserInfo.objects.filter(name__startswithyangli) models.UserInfo.objects.filter(name__endswithyangli) models.UserInfo.objects.filter(name__range[1, 3]).order_by(-name) # 排序 models.UserInfo.objects.all()[0:2]连表查询 # __ is magic, 可以作用于外键的属性 models.Entry.objects.filter(blog__name__contains科技模块) models.Entry.objects.filter(blog__name__icontainstech)字段对比查询 from django.db.models import F models.Entry.objects.filter(n_comments__gtF(n_pingbacks) * 2 ) models.Entry.objects.filter(mode_date__gt F(pub_date) timedelta(days3)) # 在发布3天后修改的所有实体添加有关联的表格 book -- publisher one-to-one book -- authors many-to-many new_book Book(title learn python to Alex,publish_id publish_id # class 中没有publish_id但是可以这么用不用传一个对象# authors 是一个多对多的关系先保存再添加 ) new_book.save() new_book.authors.add(1,2,3) new_book.authors.add(*authors_ids)返回动态数据给页面 render(request, t1.tpl, {li:users_list})注意配置模板的路径当使用post提交数据的时候暂时先注释settings里面的csrf常用的数据库字段和属性类型 https://docs.djangoproject.com/en/1.10/ref/models/fields/#primary-keyIntegerField() FloatField() CharField() TextField() DateField() EmailField() TimeField() ImageField() FieldPathFiled() # 数据库里面存的是路径django admin 提供直接上传的功能Filed option nullTrue # 限制db bankTrue # 限制django admin form uniqTrue defaultdefault primary_keyTruetauto_now 当前时间创建的时候更新 auto_now_add 当前时间每次修改更新gender_choices ((0, female),(1,male),) choicesgender_choicesvolidators [] upload_toupload # FileFiled() ImageField() 指定文件放在什么地方 数据库高级增删改查 content:在test.py通过 django API 操作数据库设置环境变量import osos.environ.setdefault(DJANGO_SETTINGS_MODULE, projectname.settings)import djangodjang.setup() 路由系统 直接路由包含跳转路由括号传参数定义别名 ?Pname字典传额外参数 模板 template 渲染模板 jianja2 把字典通过render()传给渲染模块 字典的value是object,在模板里面通过 . 来取对象的属性li [] dic {} user User(nameyangli, password123)li.1 dic.k1 user.name user.password常见语法{% for item in objs %}{{ item }}{% endfor %}{% if forloop.count0|divisibleby:2 %}{% else %}{% endif %}模板小结没有while循环因为while循环可能是死循环这个后端不能够有这个模板中不能够设置变量当模板中使用了一个变量render并没有传过来的时候并不会报错仅仅留空 模板继承 父亲自定允许修改的块{% block name %}{% endblock %}儿子{% extend path %} # 儿子继承一个父类{% block name %} # 在这里重写父亲的块{% endblock %}# include 这个插件{% include app01/registor.html %}继承小结模板继承可以嵌套父亲和爷爷辈的都可以重写模板继承不能多继承 前端 frontend html css js jQuery ajax6 转载于:https://www.cnblogs.com/yangliw3/p/5989108.html
http://www.yutouwan.com/news/251444/

相关文章:

  • 做网站推广手机上怎么赚钱啊 正规
  • 做网站 视频加载太慢品牌设计开题报告
  • 网站开发工具安卓版做网站就是做信息整合
  • 医院网站建设城乡建设部官网查证
  • 网站快照明天更新是什么情况学校网站前置审批
  • 网站建设对比分析山西建设监理协会官方网站
  • 网站如何做才可以微信直接登录系统开发应注重对反洗钱系统进行
  • 带会员中心WordPress免费主题周口seo 网站
  • 行业数据网站自助建站工具软件
  • 南宁做网站网站类网站建设
  • 手机网站营销的网站南昌有做网站的吗
  • 佛山小学网站建设呼和浩特最好的互联网公司
  • 南京 推广 网站建设网站建设修改建议
  • IT男网站建设网站怎么看被百度收录
  • 义务 网站建设国内最大的搜索引擎
  • 做网站怎么买域名wordpress站点logo
  • 个人网站需要备案做app公司
  • 广州网站建设易得营业执照咋做网等网站
  • 大连建设网中标公司优化大师官方下载
  • 沙井网站设计wordpress好不好
  • 惠州做棋牌网站建设哪家好建设一个普通的网站需要多少钱
  • 十大网站黄页上海如何批量建站
  • 网站绝对路径301资阳网站建设公司
  • 大气网站背景提供石家庄网站推广
  • 别人买了域名做违法网站装饰设计乙级资质承接范围
  • 建设网站的网站空间中企动力科技股份有限公司扬州分公司
  • wordpress建站要用模板吗大气物流网站模块
  • 网站外链建设到底该怎么做手机网站开发 1433端口错误
  • 山东省建设管理中心网站在本地搭建多个网站
  • 乐清网站设计哪家好开公司网站创建费用