码迷,mamicode.com
首页 > 其他好文 > 详细

Django的orm配置

时间:2019-08-14 20:10:02      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:start   方式   密码   ase   render   创建   max   系统   request   

一.路由系统

    a. 创建app
        - pycharm 创建
        - 使用命令行的方式创建时候,
            python manage.py startapp app02
        
        上述两种方式的区别:
            使用pycharm创建, 会自动帮我们注册app
            而使用命令行的方式, 并不会帮我们注册
    
    b. 路由的分组
        
        urls.py:
            from django.conf.urls import url, include
            
            urlpatterns = [
                url(r'^admin/', admin.site.urls),
                url(r'^test/', views.test),
                url(r'^classes/', include('classes.urls'))
            ]
        
        classes:
            
            urls.py:
                from django.conf.urls import url
            
                urlpatterns = [
                    url(r'^get_classes/', views.get_classes),
                ]
            
        访问 http://127.0.0.1/classes/get_classes/
        
    c. 路由的分发
        - 正则表达式
        urls.py:
            url(r'^test/(\w+)/(\w+)', views.test),
        views.py:
            def test(request, id, name):
                print(id, name)

?
精准匹配:
urls.py:
url(r‘^test/(?P\w+)/(?P\w+)‘, views.test),
views.py:
def test(request, id, name):
print(id, name)

        反向路由解析:
            
            urls.py:
                url(r'^login/', views.test, name='m1')
                
            views.py:
                def login(request):
                
                    return render(request, "login.html")
            
            login.html:
                <form action='{% url "m1" %}'>

?
d. FBV 和 CBV:
FBV: 基于函数实现业务逻辑
CBV: 基于类实现业务逻辑
- 实现方式:

                    urls.py:
                        url(r'^users/', views.Users.as_view())
                    
                    views.py:
                        from django.views import View
                        class Users(View):
                            
                            def dispatch(request):
                                super()
                            
                            def get(self, request):
                                pass
                            
                            def post(self, request):
                                pass
                                
            写django rest framework (drf)的时候, 更多的会使用CBV的方式

?
?
?
二.orm

    a.基本的配置:
        - 创建一个数据库
        
        - settings.py文件中配置:
            1. 需要在install_app中配置需要连接的app
            2. 需要在database中进行配置连接mysql的用户名和密码以及数据库
        
        - 需要在app下面的__init__.py文件中进行配置pymysql
        
    b. models.py 写数据表模型(类):
        通过类来生成表 (code first)
        # Create your models here.
        class UserInfo(models.Model):
            ### 主键自增id不用写, 默认会加上
            name = models.CharField(max_length=32, null=True)
            age = models.CharField(max_length=32, null=True)
        
        生成表:
            python manage.py makemigrations
            
            python manmge.py migrate

Django的orm配置

标签:start   方式   密码   ase   render   创建   max   系统   request   

原文地址:https://www.cnblogs.com/zhuyuanying123--/p/11354275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!