django外调用url_Django基础入门,快速搭建项目

原创不易,有用记得转发哦!~

点击上方"Python大数据与SQL优化笔记"关注

Django采用MTV模式,本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

       Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

      此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

下面介绍下,Django怎么创建一个项目

    #安装: pip3 install django          记得添加环境变量    #1  创建project       django-admin startproject myblog       ---myblog          ---settings.py          ---url.py          ---wsgi.py       ---- manage.py(启动文件)      #2  创建APP              python mannage.py startapp  blog    #3  settings配置       STATIC_URL = '/static/'  #别名 替代下面的static  方便以后更改路径,方便维护        STATICFILES_DIRS=(      os.path.join(BASE_DIR,"blog","static"),  #放一些静态文件,jQuery文件路径)           #url.py #url分发           #view.py #具体的View视图函数实现功能    #5  使用模版       render(request,"index.html")       #6  启动项目       python manage.py runserver  127.0.0.1:8090    #7  连接数据库,操作数据       model.py
django的命令行工具

django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。

<1> 创建一个django工程 : django-admin.py startproject mysite

        当前目录下会生成mysite的工程,目录结构如下:

  • manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

  • settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

  • urls.py ----- 负责把URL模式映射到应用程序。

<2>在mysite目录下创建blog应用: python manage.py startapp blog

<3>启动django项目:python manage.py runserver 8080 这样我们的django就启动起来了!8080端口可以使用其他未占用的端口。当我们访问:http://127.0.0.1:8080/时就可以看到:

       74d4da7c79ff21e41a91161e143788d0.png

<4>生成同步数据库的脚本:python manage.py makemigrations  

                     同步数据库:  python manage.py migrate   

       注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。         

<5>当我们访问http://127.0.0.1:8080/admin/时,会出现:

       85889adf014e3a26b44170bd397df025.png

 所以我们需要为进入这个项目的后台创建超级管理员:python manage.py createsuperuser,设置好用户名和密码后便可登录啦!

<6>清空数据库:python manage.py  flush

<7>查询某个命令的详细信息: django-admin.py  help  startapp

       admin 是Django 自带的一个后台数据库管理系统。

<8>启动交互界面 :python manage.py  shell

     这个命令和直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。

<9> 终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。

下面写个html渲染的代码

<html lang="en"><head>    <meta charset="UTF-8">    <title>Titletitle>head><body><h1>个人信息h1><form action="/userInfor/" method="post">    <p>姓名<input type="text" name="username">p>    <p>性别<input type="text" name="sex">p>    <p>邮箱<input type="text" name="email">p>    <p><input type="submit" value="submit">p>form><hr><h1>信息展示h1><table border="1">    <tr>        <td>姓名td>        <td>性别td>        <td>邮箱td>    tr>    {% for i in info_list %}  #模板语法        <tr>            <td>{{ i.username }}td>            <td>{{ i.sex }}td>            <td>{{ i.email }}td>        tr>    {% endfor %}table>body>html>-----------------------url.py---------------------------------------re_path(r'^userInfor/', views.userInfor)-----------------------views.py--------------------------------------info_list=[]def userInfor(request): #request是HTTP请求返回结果    if request.method=="POST": #POST方式提交        username=request.POST.get("username",None)        sex=request.POST.get("sex",None)        email=request.POST.get("email",None)        info={"username":username,"sex":sex,"email":email}        info_list.append(info)    return render(request,"userInfor.html",locals()) #渲染,locals()本地局部变量        #render,HttpResponse,render_to_response,redirect都是可以处理html的方式,后面介绍

------------------------------------------------------------------------------------

点击关注有百G视频教程大礼包送给你哦!~

福利

加小编微信拉你入群

请注明:加群,否则不会通过哦

微信:qq373000540

467c53bc48a2baed70df451ae7b8c102.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值