美文网首页
django框架搭建与使用

django框架搭建与使用

作者: John_Phil | 来源:发表于2019-07-20 14:04 被阅读0次

使用Pycharm图形化界面创建

这里推荐使用Pycharm,它功能强大,界面友好。

1,点击:file——》new project,出现下面的对话框。

选择Django栏目,输入项目名称,这里采用国际惯例的mysite。选择Python解释器版本,点击create创建。

2,Django将自动生成下面的目录结构:
与项目同名的目录中是配置文件,
各文件和目录解释:

外层的mysite目录与Django无关,只是你项目的容器,可以任意命名。
manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要,也是Django的管理主程序。
内层的mysite/ 目录是真正的项目文件包裹目录,他的名字是你引用内部文件的包明,例如:mysite.urls。
mysite/init.py : 一个定义包的空文件。
mysite/settings.py : 项目的主配置文件
mysite/urls.py : 路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格。
mysite.wsgi.py : 一个基于WSGI的web服务器进入点,提供底层的网络通信功能(通常不用关心)


django目录结构

使用terminal终端创建

进入指定的项目保存目录,然后运行下面的命令:

pip3 install django
django-admin startproject webtest3

这样就在目录下面生成一个webtest3目录,也就是我们的Django项目的根目录。它包含了一系列自动生成的目录和文件,具备各自专有的用途。

APP应用和project项目的区别
一个APP实现某个功能,比如博客,公共档案数据库或者见到的投票系统
一个project是配置文件和多个APP的集合,这里APP组合成整个站点
一个project可以包含多个APP
一个APP可以属于多个project
  所有的APP共享项目资源。

APP的存放位置可以是任何地点,但是通常都将他们放在与manage.py脚本同级的目录下,这样方便导入文件。

在pycharm下面的terminal终端中输入命令(pycharm中没有可以创建APP的图形化按钮,需要在终端中输入命令):

python manage.py startapp aaa
python manage.py startapp polls

这样就创建了一个叫做aaa和polls的APP,Django自动生成“aaa” 与 polls文件夹


目录

运行web服务

方法一:命令行的运行方式为:
python manage.py runserver 127.0.0.1:8000
方法二:运行Edit Configurations

选择edit configuration 修改ip 与端口号

OK之后,点击绿色的三角,web服务就运行起来了


运行成功提示

MVT模型与MVC模型

MVT中 Model 是一样的 V view 相当于 mvc中的 control T template 与mvc中的 view一样
所以对应关系为 MVC------>MTV

实现登录功能

一.配置静态文件存放js css img 等
新建static文件夹,更改set中静态文件位置


创建静态文件目录
修改配置文件静态文件目录路径

二.配置url
其中如果涉及反向解析,需要设置namespace name appname


主url
子url

四.反向生成数据库表
在model中将设计好的数据库表进行创建,生成 迁移文件 再生成数据库表

pip3 install mysqlclient

需要在setting中注册对应的app


注册app

修改数据库配置 这里使用mysql


数据库配置
设计表中的属性
我们要在pycharm的teminal中通过命令创建数据库的表,有两条命令,分别是:
python manage.py makemigrations

通过运行makemigrations命令,相当于告诉Django你对模型有改动,并且你想把这些改动保存为一个“迁移(migration)”。
migrations是Django保存模型修改记录的文件,这些文件保存在磁盘上。在例子中,它就是cmdb/migrations/0001_initial.py,你可以打开它看看,里面保存的都是人类可读并且可编辑的内容,方便你随时手动修改。


生成的迁移文件在团队开发时可以上传svn或github

 再输入命令:

Python manage.py migrate

将操作同步到数据库。


image.png

三.设计MVT
login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="/staticaa/js/jquery-1.11.0.min.js"></script>
    <script>

          $(function(){
                alert("jquery has loaded !")
            })

    </script>

</head>
<body>

<form action="../cmdb/check" method="post">
    {% csrf_token %}
    <input type="text" name="username">
    <input type="password" name="password">
    <input type="submit"> <br>
    <input type="button" value="注册" onclick="JavaScript :location.href='../cmdb/register'">
</form>

{% for n in userlist %}
    <h1>{{ n.user }}</h1>
    <h1>{{ n.pwd }}</h1>
{% endfor %}
</body>
</html>

main.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
welcome {{ username}} <br>
this is the main page

{% for n in userinfo %}
    <h1> {{ n }}</h1>
{% endfor %}

{% for n in iteminfo %}
    <h2> {{ n.name }}</h2>
    <h2> {{ n.price }}</h2>
    <h2> {{ n.info }}</h2>

{% endfor %}


</body>
</html>

设计views

def index(request):
    # return HttpResponse("hello!")
    return render(request,"login.html")


def check(request):
   username= request.POST.get("username",None)
   password= request.POST.get("password", None)
   print("check:"+username+password)
   # get()
   # 方法:有且只有一个查询结果时才有意义;如果有多个查询结果或者没有查询结果,报错;所以,返回值:model对象
   couldlogin=False
   try:
      models.Userinfo.objects.get(user=username,pwd=password)
      couldlogin=True
   except Exception as ex:
    print(ex)
    print("查无此用户")
   if couldlogin:
        #返回复杂类型
      return render(request,"main.html",{"username":username,"userinfo":["tom",19,"man"],"iteminfo":[{"name":"华为手机","price":3000,"info":"华为也能照亮你的美"},{"name":"华为手机2","price":3000,"info":"华为也能照亮你的美"}]})
   else:
       return redirect("/cmdb/login")

url

    path("login", views.index),
    path("check", views.check),
登录页面 登陆成功

相关文章

  • django框架搭建与使用

    使用Pycharm图形化界面创建 这里推荐使用Pycharm,它功能强大,界面友好。 1,点击:file——》ne...

  • Django 快速搭建博客(开发环境的搭建)

    使用Django搭建博客 Django 是 python 的一个 web 框架,属于相当全能的那种。官方文档介绍的...

  • Django

    PythonWeb框架要点、Django介绍、工程搭建、配置、静态文件与路由 1.Python Web 框架要点 ...

  • Python构建网站

    Python Django框架网站搭建入门 Django 中文文档 The Django Book

  • 有效解决ERROR 2003 (HY000): Can't co

    最近在学习Django框架,于是在windows系统上搭建了Django环境,并使用虚拟机ubuntu系统上安装的...

  • python开发-Django框架使用

    Django框架简介 Django框架是由Python开发的免费的开源网站框架,可用于快速搭建高性能,优雅的网站。...

  • python web页面跳转

    接到项目需求。需要搭建一个页面进行交互,慢慢来 使用python django框架进行页面的搭建在项目文件下打开窗...

  • 简单的Web框架:Web服务

    一、前言 使用Python可以很方便的搭建一个网站,有很多现成的Web框架可以使用例如:Django、Tornad...

  • 1.django项目创建

    项目基础搭建 1. 创建虚拟环境 2.安装django框架 3.diango框架的版本选择 4.使用命令创建项目 ...

  • Celery时区设置问题源码探究

    遇到的问题 项目中有使用到Celery框架,主要使用Celery来在使用Django搭建的项目中创建延时任务及周期...

网友评论

      本文标题:django框架搭建与使用

      本文链接:https://www.haomeiwen.com/subject/opvakctx.html