2 Django连接MySQL及路由层的简单路由配置

2020-10-12  本文已影响0人  天行_b6d0

一、Django(1.11.9)连接MySQL

1、如果项目使用sqlite,不需要额外配置,直接操作即可。
2、Django默认情况连接MySQL用的驱动是mysqldb模块,python3.x以后用的都是pymysql。
3、使用MySQL,需要配置如下:

        DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'day62',
            'HOST': '127.0.0.1',
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD':'123'
            }
        }
import pymysql
pymysql.install_as_MySQLdb()

二、路由层的简单路由配置

1、路由参数

注意点:
1、访问根路径,如何配置路由

url(r'^$',视图函数内存地址)

2、在路由中配置多个相同路由只会执行第一个
3、当两个路由为

    url(r'^login', views.home),
    url(r'^login2', views.home),

时,永远不会匹配到第二个

2、路由层的APPEND_SLASH

当url配置中正则部分最后没加上/时,Django会通过django.middleware.common.CommonMiddleware这个中间件自动补齐,如在访问http://127.0.0.1:8000/login这个地址时,浏览器会发两次请求,重定向一次,而在settings.py中加上APPEND_SLASH=False时,会去除这种特性。

三、无名分组和有名分组

1、无名分组,把分组分出来的值,当作位置参数传递给视图函数

url(r'^login/([0-9]{4})/([0-9{2}])',view.login),

2、有名分组,把分组出来的值,当作关键字参数传递给视图函数

url分组的作用:可以从url中解析出参数,传递给视图函数使用

四、路由分发

1、有一个总路径,根路由,总路由负责做分发
2、每个app有自己的路由和视图函数的对应关系
3、使用:

urlpatterns = [
    url(r'login/',views.login),
    url(r'home/',views.home),
]

五、反向解析和名称空间

1、反向解析
url = reverse('home')  # home就是路由的别名
{% url 'bieming' %}
2、名称空间
        url(r'^app01',include('app01.urls','名称空间的名字') ),

2 用在视图函数中:

        url=reverse('名称空间的名字:home')  # home就是路由的别名
        print(url)

3 模板文件中使用

{% url '名称空间的名字:meinv' %}
上一篇 下一篇

猜你喜欢

热点阅读