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

无锡网站制作哪家便宜个人域名备案流程详细

无锡网站制作哪家便宜,个人域名备案流程详细,wordpress主题替换不彻底,传媒公司手机网站模板静态文件访问 不能与服务器端做动态交互的文件都是静态文件#xff0c;如: 图片,css,js,音频,视频,html文件(部分) 静态文件配置 在 settings.py 中配置一下两项内容: STATIC_URL 静态文件的访问路径#xff0c;通过哪个url地址找静态文件 #xff0c;STATIC_URL ‘/s…静态文件访问 不能与服务器端做动态交互的文件都是静态文件如: 图片,css,js,音频,视频,html文件(部分) 静态文件配置 在 settings.py 中配置一下两项内容: STATIC_URL 静态文件的访问路径通过哪个url地址找静态文件 STATIC_URL ‘/static/’ 指定访问静态文件时是需要通过 /static/xxx或 127.0.0.1:8000/static/xxx STATICFILES_DIRS 静态文件的在服务器端的存储位置 配置访问静态文件 1、目录、setting.py配置 # file: setting.py # 静态文件的访问路径 STATIC_URL /static/ # 静态文件的存储路径 STATICFILES_DIRS (os.path.join(BASE_DIR, static),)[rootvm mysite2]# ls db.sqlite3 manage.py mysite2 static templates[rootvm mysite2]# mkdir -p static/img使用静态文件的访问路径进行访问访问路径: STATIC_URL ‘/static/’ img src/static/img/bizhi.jpeg img srchttp://127.0.0.1:8000/static/img/bizhi.jpeg2、路由配置 # urls.pypath(test_static,views.test_static),# views.py def test_static(request):return render(request, test_static.html)# templates/test_static.html !DOCTYPE html html langen headmeta charsetUTF-8title静态文件的演示/title /head body img src/static/img/bizhi.jpeg width300 px height150 px img srchttp://192.168.1.11:8000/static/img/bizhi.jpeg width300 px height150 px /body /html通过 {% static %}标签访问静态文件 了解 {% static %} 表示的就是静态文件访问路径 加载 static {% load static %}使用静态资源时 语法:{% static 静态资源路径 %}示例: img src{% static images/lena.jpg %} Django中的应用 - app 应用在Django项目中是一个独立的业务模块可以包含自己的路由、视图、模板、模型 创建、注册应用app # 创建应用文件夹 [rootvm mysite2]# python3 manage.py startapp music /root/mysite2#在settings.py里注册应用 [rootvm mysite2]# vi mysite2/settings.pyINSTALLED_APPS [# ....user, #用户信息模块music, #音乐模块]应用的结构 [rootvm mysite2]# ls music/ admin.py #应用的后台管理配置文件 apps.py #应用的属性配置文件 __init__.py #应用子包的初始化文件 migrations #文件夹,保存数据迁移的中间文件不会动 models.py #与数据库相关的模型映射类文件 __pycache__ tests.py #应用的单元测试文件 views.py #定义视图处理函数的文件应用的分布式路由 Django中主路由配置文件(urls.py)可以不处理用户具体路由主路由配置文件的可以做请求的分发(分布式请求处理)。具体的请求可以由各自的应用来进行处理 include 函数 用于分发将当前路由转到各个应用的路由配置文件的 urlpatterns 进行分布式处理 函数格式 include(‘app命字.url模块名’)子urls模块文件件里必须有urlpatterns 列表 同名文件冲突问题 #主urls.py from django.conf.urls import include# 分布式路由,将path为music/xxx的路由,交给music下的urls去处理path(music/,include(music.urls)),# music下的urls from django.urls import path from . import viewsurlpatterns [# http://127.0.0.1:8000/music/indexpath(index, views.index_view), ]# music下的views.py from django.shortcuts import renderdef index_view(request):return render(request, index.html)# 主应用目录下的templates/index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body h3这是主目录下的Index页面/h3 /body /html# music应用下templates/index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body h3这是music应用下的Index页面/h3 /body /html# http://192.168.1.11:8000/music/index # 这是主目录下的Index页面APP的未返回更改下返回的文件名 # music下的views.py from django.shortcuts import renderdef index_view(request):return render(request, index1.html)# music应用下templates/index.html改成index1.html # http://192.168.1.11:8000/music/index #这是music应用下的Index页面主目录没有应用的templates模板总结 应用内部可以配置模板目录 1应用下手动创建 templates 文件夹 2settings.py中确认 TEMPLATE 配置项中 的 APP_DIRS 值例如 APP_DIRS: True#应用下templates 和 外层templates 都存在时django得查找模板规则 1优先查找外层templates目录下的模板再查找APP的 2按INSTALLED_APPS配置下的 应用顺序 从上到下逐层查找#主 settings.py TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)], #1、先找主的APP_DIRS: True, #True打开APP查找。 2、再找APP的INSTALLED_APPS [ ...music, # 3、APP从上到下找到就返回 ]解决冲突方案 #在应用的templates先创建与应用同名的子目录然后在子目录下添加模板文件。 应用名/模板名.html [rootvm music]# mkdir templates/music #templates创建同app同名的目录 [rootvm music]# mv templates/index1.html templates/music/index.html# music下的views.py from django.shortcuts import renderdef index_view(request):return render(request, music/index.html)http://192.168.1.11:8000/music/index #这是music应用下的Index页面 练习 练习再创建一个user应用并注册。user应用下也创建一个index.html页面。user/index路由请求在视图函数返回页面时使用自己的index页面。url: index,返回主目录的index.htmlurlmusic/index , 返回music应用下的index.htmlurluser/index,返回user应用下的index.html# 1、创建应用文件夹 [rootvm mysite2]# python3 manage.py startapp user /root/mysite2# 2、在settings.py里注册应用 [rootvm mysite2]# vi mysite2/settings.pyINSTALLED_APPS [....user, #用户信息模块] # 3、创建分布式路由 [rootvm mysite2]# vi mysite2/urls.py ...path(user/,include(user.urls)),# 4、创建子路由 [rootvm mysite2]# vi user/urls.py from django.urls import path from . import viewsurlpatterns [path(index, views.index_view), ]# 5、创建子view [rootvm mysite2]# vi user/views.py ... def index_view(request):return render(request, user/index.html)# 6、 创建子templates/user目录 index文件 [rootvm mysite2]# mkdir -p user/templates/user [rootvm mysite2]# vi user/templates/user/index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body h3这是user应用下的Index页面/h3 /body /html#反应略慢别搞那么快。 # http://192.168.1.11:8000/user/index # 这是user应用下的Index页面模型层 Django下配置使用 mysql 数据库 [rootvm mysite2]# apt-get install python3-dev default-libmysqlclient-dev #ubuntu [rootvm mysite2]# yum install python3-devel mysql-devel gcc #centos[rootvm mysite2]# yum -y install mariadb-server mariadb-client [rootvm mysite2]# systemctl enable mariadb --now [rootvm mysite2]# mysql UPDATE mysql.user SET password PASSWORD(123456) WHERE user root; FLUSH PRIVILEGES; exit [rootvm mysite2]# pip3 install --upgrade pip [rootvm mysite2]# pip3 install mysqlclient创建 和 配置数据库 [rootvm mysite2]# mysql -uroot -p123456create database mysite2 default charset utf8 ;use mysite2;数据库的配置为mysql sqlite 数据库配置 # file: settings.py DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: os.path.join(BASE_DIR, db.sqlite3),} }mysql 数据库配置 DATABASES {default : {ENGINE: django.db.backends.mysql,NAME: mysite2,USER: root,PASSWORD: 123456,HOST: 127.0.0.1,PORT: 3306,} } 数据库的后端引擎 django.db.backends.mysql django.db.backends.sqlite3 django.db.backends.oracle django.db.backends.postgresql模型Models 模型是一个Python类它是由django.db.models.Model派生出的子类。- 一个模型类代表数据库中的一张数据表- 模型类中每一个类属性都代表数据库中的一个字段。- 模型是数据交互的接口是表示和操作数据库的方法和方式Django 的 ORM框架 ORMObject Relational Mapping即对象关系映射它是一种程序技术它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库 ORM框架的作用 1. 建立模型类和表之间的对应关系允许我们通过面向对象的方式来操作数据库。 2. 根据设计的模型类生成数据库中的表格。 3. 通过简单的配置就可以进行数据库的切换。ORM 好处:1. 只需要面向对象编程, 不需要面向数据库编写代码.- 对数据库的操作都转化成对类属性和方法的操作.- 不用编写各种数据库的sql语句.2. 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.- 不在关注用的是mysql、oracle...等数据库的内部细节.- 通过简单的配置就可以轻松更换数据库, 而不需要修改代码.ORM 缺点1. 对于复杂业务使用成本较高2. 性能损耗根据对象的操作转换成SQL语句,再根据查询的结果转化成对象, 在映射过程中有性能损失.ORM 映射示意类 --- 数据表 对象 --- 数据行属性 --- 字段模型类Models 创建 模型类需继承自django.db.models.Model Models的语法规范 from django.db import models class 模型类名(models.Model):字段名 models.字段类型(字段选项) 模型类名是数据表名的一部分建议类名首字母大写字段名又是当前类的类属性名此名称将作为数据表的字段名字段类型用来映射到数据表中的字段的类型字段选项为这些字段提供附加的参数信息 模型示例 此示例为添加一个 bookstore_book 数据表来存放图书馆中书目信息 添加一个 bookstore 的 app [rootvm mysite2]# python3 manage.py startapp bookstore [rootvm mysite2]# vi mysite2/settings.py # file : setting.py 注册app INSTALLED_APPS [...bookstore, ]添加模型类 # file : bookstore/models.py from django.db import modelsclass Book(models.Model): title models.CharField(书名, max_length50, default)price models.DecimalField(定价, max_digits7, decimal_places2, default0.0)数据库的迁移 迁移是Django同步您对模型所做更改添加字段删除模型等 到您的数据库模式的方式步骤如下 1、生成或更新迁移文件 将每个应用下的models.py文件生成一个中间文件,并保存在migrations文件夹中 [rootvm mysite2]# python3 manage.py makemigrations /root/mysite2 Migrations for bookstore:bookstore/migrations/0001_initial.py- Create model Book2、执行迁移脚本程序 执行迁移程序实现迁移。将每个应用下的migrations目录中的中间文件同步回数据库。 [rootvm mysite2]# python3 manage.py migrate Running migrations: ...Applying sessions.0001_initial... OK #看下数据库**注意**每次修改完模型类再对服务程序运行之前都需要做以上两步迁移操作 [rootvm mysite2]# mysql -uroot -p123456 -e use mysite2;show tables; ---------------------------- | Tables_in_mysite2 | ---------------------------- | auth_group | | auth_group_permissions | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | bookstore_book | | django_admin_log | | django_content_type | | django_migrations | | django_session | ---------------------------- [rootvm mysite2]# mysql -uroot -p123456 -e desc mysite2.bookstore_book; --------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------------- | id | int(11) | NO | PRI | NULL | auto_increment | | title | varchar(50) | NO | | NULL | | | price | decimal(7,2) | NO | | NULL | | ---------------------------------------------------------字段类型 参考文档 https://docs.djangoproject.com/en/2.2/ref/models/fields/#field-types BooleanField()- 数据库类型:tinyint(1)- 编程语言中:使用True或False来表示值- 在数据库中:使用1或0来表示具体的值CharField()- 数据库类型:varchar- 注意:- 必须要指定max_length参数值DateField()- 数据库类型:date- 作用:表示日期- 参数:- auto_now: 每次保存对象时自动设置该字段为当前时间(取值:True/False)。- auto_now_add: 当对象第一次被创建时自动设置当前时间(取值:True/False)。- default: 设置当前时间(取值:字符串格式时间如: 2019-6-1)。- 以上三个参数只能多选一DateTimeField()- 数据库类型:datetime(6)- 作用:表示日期和时间- 参数同DateFieldDecimalField()- 数据库类型:decimal(x,y)- 编程语言中:使用小数表示该列的值- 在数据库中:使用小数- 参数:- max_digits: 位数总数包括小数点后的位数。 该值必须大于等于decimal_places.- decimal_places: 小数点后的数字数量- 示例: moneymodels.DecimalField(max_digits7,decimal_places2,default0.0)FloatField()- 数据库类型:double- 编程语言中和数据库中都使用小数表示值EmailField()- 数据库类型:varchar- 编程语言和数据库中使用字符串IntegerField()- 数据库类型:int- 编程语言和数据库中使用整数URLField()- 数据库类型:varchar(200)- 编程语言和数据库中使用字符串ImageField()- 数据库类型:varchar(100)- 作用:在数据库中为了保存图片的路径- 编程语言和数据库中使用字符串TextField()- 数据库类型:longtext- 作用:表示不定长的字符数据字段选项 文档参见https://docs.djangoproject.com/en/2.2/ref/models/fields/#field-options 指定创建的列的额外的信息允许出现多个字段选项多个选项之间使用,隔开 1. primary_key- 如果设置为True,表示该列为主键,如果指定一个字段为主键则此数库表不会创建id字段 2. blank- 设置为True时字段可以为空。设置为False时字段是必须填写的。 3. null- 如果设置为True,表示该列值允许为空。- 默认为False,如果此选项为False建议加入default选项来设置默认值 4. default- 设置所在列的默认值,如果字段选项nullFalse建议添加此项 5. db_index- 如果设置为True,表示为该列增加索引 6. unique- 如果设置为True,表示该字段在数据库中的值必须是唯一(不能重复出现的) 7. db_column- 指定列的名称,如果不指定的话则采用属性名作为列名 8. verbose_name- 设置此字段在admin界面上的显示名称。示例: # 创建一个属性,表示用户名称,长度30个字符,必须是唯一的,不能为空,添加索引 name models.CharField(max_length30, uniqueTrue, nullFalse, db_indexTrue)Meta内部类 使用内部 Meta类 来给模型赋予属性Meta类下有很多内建的类属性可对模型类做一些控制、 示例 # file : bookstore/models.py from django.db import modelsclass Book(models.Model): title models.CharField(书名, max_length50, default)price models.DecimalField(定价, max_digits7, decimal_places2, default0.0)class Meta:db_table book #可改变当前模型类对应的表名数据库迁移的错误处理方法 # file : bookstore/models.py #新增一行 from django.db import modelsclass Book(models.Model): ...# 新增属性/字段 要有默认值market_price models.DecimalField(零售价,max_digits5,decimal_places2,default0.0)pub models.CharField(出版社, max_length50,default)$ python3 manage.py makemigrationsYou are trying to add a non-nullable field des to book without a default; we cant do that (the database needs something to populate existing rows). Please select a fix:1) Provide a one-off default now (will be set on all existing rows with a null value for this column)2) Quit, and let me add a default in models.py Select an option: 2 退出错误原因 当对模型类新添加一个字段时可出现该错误原理是 添加新字段后数据库不知道原来已有数据对于新建字段该如何赋值所以新增字段时务必要添加default默认值。 处理方法: 选择1 则会进入到shell中手动输入一个默认值不建议退出当前生成迁移文件的过程自己去修改models.py, 新增加一个defaultXXX 的缺省值(推荐使用) Select an option: 2 退出修改下。重新makemigrations # file : bookstore/models.py #新增一行 from django.db import modelsclass Book(models.Model): ...# 新增属性/字段 要有默认值market_price models.DecimalField(零售价, max_digits5,decimal_places2,default0.0)pub models.CharField(出版社,max_length50,default)[rootvm mysite2]# python3 manage.py makemigrations [rootvm mysite2]# python3 manage.py migrate数据库的迁移文件混乱的解决办法 1. 删除 所有 migrations 里所有的 000?_XXXX.py (__init__.py除外) 2. 删除 数据库,要先备份一下- sql drop database mywebdb; 3. 重新创建 数据库- sql create datebase mywebdb default charset...; 4. 重新生成migrations里所有的 000?_XXXX.py- python3 manage.py makemigrations 5. 重新更新数据库- python3 manage.py migrate模型层的基本操作 基本操作包括增删改查操作即(CRUD操作)CRUD是指在做计算处理时的增加(Create)、读取查询(Read)、更新(Update)和删除(Delete) 管理器对象 每个继承自 models.Model 的模型类都会有一个 objects 对象被同样继承下来。这个对象叫管理器对象 数据库的增删改查可以通过模型的管理器实现 class MyModel(models.Model):... MyModel.objects.create(...) # objects 是管理器对象创建数据对象 Django 使用一种直观的方式把数据库表中的数据表示成Python 对象创建数据中每一条记录就是创建一个数据对象 MyModel.objects.create(属性1值1, 属性2值1,…) 成功: 返回创建好的实体对象失败: 抛出异常 创建 MyModel 实例对象,并调用 save() 进行保存 不推荐 obj MyModel(属性值,属性值) obj.属性值 obj.save()使用Django shell 在Django提供了一个交互式的操作项目叫 Django Shell 它能够在交互模式用项目工程的代码执行相应的操作利用 Django Shell 可以代替编写View的代码来进行直接操作在Django Shell 下只能进行简单的操作不能运行远程调式 启动使用方式: [rootvm ~]# cd mysite2/ [rootvm mysite2]# python3 manage.py shell ...from bookstore.models import BookBook.objects.create(titlejava,price50) Book: Book object (1) #返回对象# 数据库验证 [rootvm ~]# mysql -uroot -p123456 -e select * from mysite2.bookstore_book ------------------------------------- | id | title | price | market_price | pub | ------------------------------------- | 1 | java | 50.00 | 0.00 | | -------------------------------------[rootvm mysite2]# python3 manage.py shell ...from bookstore.models import BookBook.objects.create(titlepython,price50,pub清华) Book: Book object (2)Book.objects.create(titlec,price100,pub清华) Book: Book object (3)Book.objects.create(titlexiyou,price700,pubbeida) Book: Book object (4)Book.objects.create(titlehonglou,price90,pubbeida)​ ​
http://www.dnsts.com.cn/news/61603.html

相关文章:

  • 12380网站建设打算爱站网查询
  • 百度右边相关网站网站运营需要哪些人员
  • 网站的链接建设wordpress 空行
  • 江门专业网站建设价格个人注册公司的步骤
  • 怎么确定电商网站建设的目标做网站不赚钱了
  • 广西腾达建设集团有限公司网站现代网络营销的方式
  • 上海个人建站模板wordpress 招聘模块
  • 寻找锦州网站建设百度做网站的费用
  • 重庆网站推广运营深圳给企业做网站
  • 网站建设公司的客户cpa个人网站怎么做
  • 绍兴柯桥区城乡建设局网站网站关键词 公司
  • 查询建设规范的网站餐饮vi设计公司
  • 360做网站多少钱一年申请网站网站
  • 图片生成链接的网站安监局特种作业证全国联网
  • 小企业网站建设价格网页制作与网站建设实战大全
  • 网站开发 云智互联自学做网站的书
  • 512m内存做网站邵阳网站开发公司推荐
  • 企业网站的建设报价免费ppt模板下载 知乎
  • 课外辅导东莞网站建设技术支持全案品牌设计公司
  • 做了网站应该如何推广青岛最新疫苗接种
  • 中文企业网站html模板做网站发布
  • PHP开源网站开发系统wordpress 内容置顶
  • 网站建设评价指标网站开发好后版权归谁
  • 微网站免费建站系统wordpress+社交链接
  • 团总支网站建设宣传wordpress 搜索mysql
  • 山西做网站优势如何制作公司app
  • 教资报名网站设置机械东莞网站建设
  • 中国住房和城乡建设部网站首页创办网站的步骤
  • 搞个网站需要多少钱织梦做动漫网站
  • 有什么网站可以做电子深圳建站公司好坏