【原创】django项目中一些简单的语法操作~

常用语法

 类名添加到某个修改页面属性类中 (inlines = [类名])在创建时添加2个 数据类名  
class 类名(admin.StackedInline/TabularInline(显示页面结构有点不同)):
    model = 数据类名
    extra = 2

    
布尔值显示问题
把函数名写入list_dispaly ,替代原先显示布尔的对象
def 函数名(self):
    if self.函数名==None:
        return '不详'
    elif self.函数名:
        return '男'
    else:
        return '女'
#修改性别描述
函数名.short_description = '性别'
    
#执行动作的位置 , 一个上下位置调整
action_on_top == False
action_on_bottom ==True

#使用装饰器完成注册
@admin.register(数据的类名) 
删除掉注册的类


#视图 在views.py里定义
引入 from django.http import HttpResponse

#request 请求体
def inedx(request):
    #返回数据
    return HttpResponse('这里是首页')

下面我们来配置url 

方法一:

#配置url  在你的porject 下的urls.py里定义

from django.conf.urls import url,include
from django.contrib import admin

from oneapp import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    #include 包含oneapp下的urls 就是你app下的urls,没有需要创建一下
    url(r'^$',include('oneapp.urls')),
]

#在app下的urls中
from django.conf.urls import url
from oneapp import views

urlpatterns = [
    #匹配到views下的index视图
    url(r'^',views.inedx),
]


方法二:
#在project 下的urls.py下直接匹配

from django.conf.urls import url,include
from django.contrib import admin


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    #直接匹配也可以
    url(r'^$',views.index),
]


#匹配页面分组的概念,在urls中定义
app/urls.py

urlpatterns = [
    url(r'^$',views.inedx),
    #(为参数)
    url(r'^(\d+)/$',views.one),
]

project/views.py

#num是导入上面的参数
def one(request,num):
    return HttpResponse('这里是第一个页面%s'%num)


    url(r'^(\d+)/(\d+)/$',views.two),


#如何匹配html的视图
#创建一个模板 创建目录trmplates  该文件与app和project文件平级, 在目录下创建对应项目的模板目录,

#配置模板的路径,修改settings.py文件下的TEMPLATES,在DIRS中添加你创建的trmplates目录
'DIRS': [os.path.join(BASE_DIR,'trmplates')],
    
#在你创建的trmplates目录里对应项目目录里创建html模板
#写模板的语法

方法一:
{{输入值,可以是变量,也可以是对象,属性}}

方法二:
{%执行代码段%}

#以下是python 中html的写法
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户成员</title>
</head>
<body>
    <h1>用户成员</h1>
    <ul>
        {#   执行for循环     #}
        {#    导入models下的Buyer类    #}
        {% for i in Buyer %}
        <li>
            {#      导入Buyer下的bname  这个是在我的models下定义的买家的姓名      #}
            <a href="#">{{ Buyer.bname }}</a>
        </li>
        {#   结束for循环     #}
        {% endfor %}

    </ul>
</body>
</html>
            
            
#页面写好之后需要匹配到这个页面需要配置一下
#在urls中定义,执行Buyer
    url(r'^Buyer/$',views.Buyer),
            
#在views中写Buyer函数
方法一
def Buyer(request):
    #取模板拿数据 objects.all()是所有数据的意思
    Buyerlist = Buyer.objects.all()
    return render(request,'oneapp/Buyer.html')
            
方法二 
def Buyer(request,num):    
    #把num传入,get 是条件的意思 pk就是id 的意思,想要查id指向谁就查询谁      
    Buyerlist = Buyer.objects.get(pk=num)
    #将数据传递给模板,模板在渲染页面,将渲染好的页面返回给页面
    return render(request,'oneapp/Buyer.html')
            



猜你喜欢

转载自blog.csdn.net/Python_anning/article/details/80456506