Django入门

学习django

django 项目目录介绍
manage.py
与项目进行命令交互的命令行工具集的入口
项目管理器

wsgi.py

WSGI (python web server gateway interface)
python 服务器与网关接口

url.py

url配置文件
diango 项目中所有地址(页面)都需要我们自己去配置其URL

setting.py

开启项目

两种方法
1、通过PyCharm创建 直接run

2、命令行创建 django-admin.py startproject projectName
启动 python manage.py runsever

创建应用

python manage.py startapp blog

然后在setting.py 中的INSTALLED_APPS添加应用名

       migrations 数据移植模块
       admin.py   该应用的后台管理系统配置
       apps.py    该应用的一些配置
       models.py  数据模块 ,使用ORM框架
       test.py    自动化测试模块
       view.py    执行响应的代码所在模块,代码逻辑处理的主要地点

创建第一个页面(响应)

编辑blog.views
    每个响应对应一个函数,函数必须返回一个响应
    函数必须存在一个参数, 一般约定为request
    每个响应对应一个URL
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.


def index(request):
    return HttpResponse("Hello World")

配置URL
编辑url.py
每一URL都已url的形式写出来
url函数放在urlpatterns列表中
url函数三个参数:URL(正则),对应方法,名称

    import blog.views as bv

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', bv.index),

]

配置子URL 防止项目过大,url无法管理的问题

项目下的urls.py 增加代码 url(r'^blog/', include('blog.urls'))

应用下新建urls.py 文件,在urls.py中配置自己的url
例如:
urlpatterns = [
url(r’^index/$’, views.index),
]

Templates

Html 文件
使用Django DTL语言
也可以使用第三方模板(如:Jinja2)

使用:
在App的根目录下创建名叫Templates的目录
在该目录下创建HTML文件
在Views.py中返回render()

render 传入三个参数 request 、XXX.html、(字典)
html中用{{传入的字典的key}}

如下所示

views.py

def index(request):

    return render(request, 'index.html', {'haha': '你是狗'})

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
你好<br/>
{{ haha }}
</body>
</html>

models
通常,一个Model对应数据库的一张数据表
Django中的Modles以类的形式表现
它包含一些基本字段以及数据的一些行为

创建数据表

class Article(models.Model):
    title = models.CharField(max_length=32, default='Title')
    content = models.TextField(null=True)

    def __str__(self):
        return self.title

生成数据表

命令行中进入manage.py同级目录
执行 python manage.py makemigrations app名(可选)
在执行 python manage.py migrate

查询数据表生成sql语句

python manage.py sqlmigrate app名 0001

获取数据库中的数据
views.py 中import models

article = models.Article.object.get(pk=1)

HTML DTL语言

引用一般对象

{{ object }}       可以用  . 引用对象里面的属性

for循环

{% for acticle in articles %}

{% endfor %}

Django中的超链接

超链接目标地址
href后面是目标地址
templates中可以用”{%url ‘app_name:url_name’ param%}”

<h1>
<a href="{% url 'blog:edit_page' 0%}">新文章</a>
</h1>

{% for article in articles %}

    <h1><a href="{% url 'blog:article_page' article.id %}">{{ article.title }}</a></h1>
    <h3>{{ article.content }}</h3>
    <br/>
{% endfor %}

表单提交Post方法

<html>
  <form action="{% url 'blog:edit_action' %}" method="POST">
    <input type="text" name="title"/>
    <input type="text" name="content"/>
    <input type="submit" value="提交">
  </form>
</html>

获取请求参数

def edit_action(request):
    # 获取提交的参数,并在数据库中添加数据
    title = request.POST.get('title', 'TITLE')  # title = request.POST['title']
    content = request.POST.get('content', 'CONTENT')  # request.POST['content']


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值