个人做电影网站服务器放国外安全吗,贵阳微网站建设公司,凡科轻站小程序怎么样,如何进行医药网站建设Python的WEB框架有Django、Tornado、Flask 等多种#xff0c;Django相较与其他WEB框架其优势为#xff1a;大而全#xff0c;框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 基本配置 一、创建django程序 终端命令#xff1a;django-admin startprojec…Python的WEB框架有Django、Tornado、Flask 等多种Django相较与其他WEB框架其优势为大而全框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 基本配置 一、创建django程序 终端命令django-admin startproject sitenameIDE创建Django程序时本质上都是自动执行上述命令其他常用命令 python manage.py runserver 0.0.0.0 python manage.py startapp appname python manage.py syncdb python manage.py makemigrations python manage.py migrate python manage.py createsuperuser 二、程序目录 三、修改配置文件 1、数据库 1 DATABASES {2 default: {3 ENGINE: django.db.backends.mysql,4 NAME:dbname,5 USER: root,6 PASSWORD: xxx,7 HOST: ,8 PORT: ,9 }
10 }
11
12 # 由于Django内部连接MySQL时使用的是MySQLdb模块而python3中还无此模块所以需要使用pymysql来代替
13
14 # 如下设置放置的与project同名的配置的 __init__.py文件中
15
16 import pymysql
17 pymysql.install_as_MySQLdb() 2、模版 1 TEMPLATE_DIRS (
2 os.path.join(BASE_DIR,templates),
3 ) 3.静态文件 1 STATICFILES_DIRS (
2 os.path.join(BASE_DIR,static),
3 ) 路由系统 1、单一路由对应 1 url(r^index$, views.index), 2、基于正则的路由 1 url(r^index/(\d*), views.index),
2 url(r^manage/(?Pname\w*)/(?Pid\d*), views.manage), 3、添加额外的参数 1 url(r^manage/(?Pname\w*), views.manage,{id:333}), 4、为路由映射设置名称 url(r^home, views.home, nameh1),
url(r^index/(\d*), views.index, nameh2), 设置名称之后可以在不同的地方调用如 模板中使用生成URL {% url h2 2012 %}函数中使用生成URL reverse(h2, args(2012,)) 路径:django.urls.reverseModel中使用获取URL 自定义get_absolute_url() 方法 class NewType(models.Model):caption models.CharField(max_length16)def get_absolute_url(self):为每个对象生成一个URL应用在对象列表中生成查看详细的URL使用此方法即可:return:# return /%s/%s % (self._meta.db_table, self.id)# 或from django.urls import reversereturn reverse(NewType.Detail, kwargs{nid: self.id}) 5、根据app对路由规则进行分类 url(r^web/,include(web.urls)), 6、命名空间 a. project.urls.py from django.conf.urls import url,includeurlpatterns [url(r^a/, include(app01.urls, namespaceauthor-polls)),url(r^b/, include(app01.urls, namespacepublisher-polls)),
] b. app01.urls.py from django.conf.urls import url
from app01 import viewsapp_name app01
urlpatterns [url(r^(?Ppk\d)/$, views.detail, namedetail)
] c. app01.views.py def detail(request, pk):print(request.resolver_match)return HttpResponse(pk) 以上定义带命名空间的url之后使用name生成URL时候应该如下 v reverse(app01:detail, kwargs{pk:11}){% url app01:detail pk12 pp99 %}django中的路由系统和其他语言的框架有所不同在django中每一个请求的url都要有一条路由映射这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射从而是路由系统变得简洁。转载于:https://www.cnblogs.com/now-playing/p/8284879.html