iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python+django搭建web项目
  • 712
分享到

python+django搭建web项目

项目pythondjango 2023-01-31 05:01:49 712人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

创建项目 原文1:Http://blog.csdn.net/yjx2323999451/article/details/53200243 原文2:http://www.cnblogs.com/benshan/p/4445074.html

创建项目

原文1:Http://blog.csdn.net/yjx2323999451/article/details/53200243

原文2:http://www.cnblogs.com/benshan/p/4445074.html

原文3:http://www.runoob.com/Django/djanGo-first-app.html

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

连接Mysql数据库

原文4:http://www.cnblogs.com/yangmv/p/5327477.html

原文5:http://www.cnblogs.com/taiguyiba/p/6058315.html

原文6:http://www.jb51.net/article/42870.htm

前提:

配置好python+django环境


1创建web服务器

使用cmd命令进入到存放项目的目录中执行以下命令:

python django-admin.py startproject mysite

成功后会在目录中出现 mysite 目录,此处创建的为开发服务器


2创建app:

一个项目中包含一个或多个这样的app。app可以理解为一块功能集合。比如产品管理模块就包含增删该查等功能,可以把产品管理叫做一个app。每个Django app都有独立的models,views等,易移植和被复用


使用cmd命令进入到mysite目录下(创建的WEB服务器目录)执行以下命令

Python manage.py startapp test_pr

test_pr才是web应用程序


3创建模板文件的目录

在项目根目录下新建一个templates目录


4目录文件说明

子目录mysite下表示工程的全局配置,分别为setttings.py、urls.py和wsgi.py,其中setttings.py包括了系统的数据库配置、应用配置和其他配置,urls.py则表示web工程Url映射的配置。

子目录test_pr则是在该工程下创建的app,包含了models.py、tests.py和views.py等文件

templates目录则为模板文件的目录

manage.py是Django提供的一个管理工具,可以同步数据库等等

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

Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架

在 MTV 开发模式中:

M 代表模型(Model),即数据存取层。该层处理与数据相关的所有事务:如何存取、如何确认有效性、包含哪些行为以及数据之间的关系等

  T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面或其他类型文档中进行显示。

  V代表View,业务逻辑层。这一层包含访问模型的逻辑和按照模板显示。你可以认为它是模型和模板的桥梁。

系统对app有一个约定:如果你使用了Django的数据库层(模型),你 必须创建一个django app。模型必须在这个app中存在。


5启动

在cmd中进入项目目录(cd d:*/mysite ),执行以下命令:

python manage.py runserver 0.0.0.0:8000

在浏览器中输入 127.0.0.1:8000,若能成功访问则表示启动成功


6添加web工程页面

打开test_pr/views.py文件,输入以下内容

from django.http import HttpResponse


def sayHello(request):
    s = 'Hello World!'
    current_time = datetime.datetime.now()
    html = '<html><head></head><body><h1> %s </h1><p> %s </p></body></html>' % (s, current_time)
    return HttpResponse(html)


7url映射的配置

打开url.py文件

from django.conf.urls import url
from test_pr import views

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^$', views.sayHello),
]

重启服务,访问http://localhost:8000/


8逻辑和页面分离

8.1在模板目录下创建一个student.html文件,并写入以下代码

<!DOCTYPE html>
<html>
   <head>
        <title>hello</title>
   </head>
 <body>
      <ul>
          {% for student in students %}
          <li>
             id:{{ student.id }},姓名:{{ student.name }},age: {{ student.age }}
         </li>
         {% endfor %}
     </ul>
 </body>
</html>


8.2修改 views.py文件,添加方法showStudents()

 def showStudents(request):
     list = [{id: 1, 'name': 'Jack'}, {id: 2, 'name': 'Rose'}]
     return render_to_response('student.html',{'students': list})

8.3.添加url映射,打开url.py文件

from django.conf.urls import url
from test_pr import views

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^$', views.sayHello),
    url(r'^showStudents$', showStudents),
]

8.4.修改settings.py模板配置:'DIRS': [BASE_DIR+r'\templates'],

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates", ],
        'APP_DIRS': True,
        'OPTioNS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]


8.5.重启服务,访问http://localhost:8000/showStudents,出现:


原文:http://code.ziqiangxuetang.com/django/django-models.html

9.连接数据库

首先需要安装数据库驱动啦,即mysql_python,

如果你没安装 mysql 驱动,可以执行以下命令安装:

pip install mysqlclient


9.1配置数据库连接,打开settings.py文件编写代码

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', //数据库的类型  
        'NAME': 'mysite', //所使用的的数据库的名字
        'USER': 'root', //数据库服务器的用户  
        'PASSWord': '123456',   //密码  
        'HOST': 'localhost', //主机  
        'PORT': '3306',   //端口 
    }
}


修改完后进入DOS进入项目目录下执行python manage.py shell命令启动交互界面输入一下代码验证数据库配置是否成功。没报错则成功!


>>> from django.db import connection

>>> cursor = connection.cursor()


10.创建模型

在Django中使用数据库布局的第一步是将其表述为Python代码。

文件中每个class相当于单个数据库表,每个属性也是这个表中的一个字段。 属性名就是字段名,它的类型(例如 CharField )相当于数据库的字段类型 (例如 varchar )。

10.1打开test_pr目录下的models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models


# Create your models here.
class Student(models.Model):
     
     name = models.CharField(max_length=20)


字段


1、models.AutoField  自增列= int(11)
  如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。
2、models.CharField  字符串字段
  必须 max_length 参数
3.models.DateField  日期类型 date
  对于参数,auto_now =True则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
4.models.DateTimeField  日期类型 datetime
  同DateField的参数
5.models.EmailField  字符串类型(正则表达式邮箱)=varchar
  对字符串进行正则表达式
6.models.FloatField  浮点类型= double
7.models.IntegerField  整形
8.models.SmallIntegerField  数字
  数据库中的字段有:tinyint、smallint、int、bigint
9、models.TextField  字符串=longtext
10、models.TimeField  时间 HH:MM[:ss[.uuuuuu]]
11、models.URLField  字符串,地址正则表达式
12、models.BinaryField  二进制
13、models.ImageField图片
14、models.FilePathField文件




参数


1、null=True
  数据库中字段是否可以为空
2、blank=True
  django的Admin中添加数据时是否可允许空值
3、primary_key =False
  主键,对AutoField设置主键后,就会代替原来的自增 id 列
4、auto_now 和 auto_now_add
  auto_now 自动创建---无论添加或修改,都是当前操作的时间
  auto_now_add 自动创建---永远是创建时的时间
5、choices
GENDER_CHOICE =(
(u'M', u'Male'),
(u'F', u'Female'),
)
gender = models.CharField(max_length=2,choices = GENDER_CHOICE)
6、max_length
7、default  默认值
8、verbose_name  Admin中字段的显示名称
9、name|db_column  数据库中的字段名称
10、unique=True  不允许重复
11、db_index =True  数据库索引
12、editable=True  在Admin里是否可编辑

11. 激活 模型

打开settings.py 文件,找到 INSTALLED_APPS 设置,NSTALLED_APPS 告诉 Django 项目哪些 app 处于激活状态

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'test_pr',
)

12.将新建的models同步数据库

# Django 1.7 及以上的版本需要用以下命令

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

步骤里面第一步将会在查询当前MySQL和本地的models的差异,生成合并的代码。 

第二步是将合并代码导入数据库。

cmd进入项目目录执行以下命令:

python manage.py makemigrations
python manage.py migrate

# Django 1.6.x 及以下

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

用下面的命令对校验模型的有效性:

python manage.py validate

看到 0 errors found 消息,一切正常。继续:

运行下面的命令来生成 CREATE TABLE 语句:

python manage.py sqlall test_pr

sqlall 命令并没有在数据库中真正创建数据表,只是把SQL语句段打印出来。

运行 syncdb 命令创建表

python manage.py syncdb

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

所有的数据库查找都遵循一个通用模式:调用模型的管理器来查找数据。

13.models对数据库增删查改

原文:http://python.usyiyi.cn/translate/django_182/ref/models/instances.html

打开models.py文件

方式一:

from django.db import models

class Student(models.Model):
    name= models.CharField(max_length=20)

    @claSSMethod
    def create(cls, name
        student = cls(name=name)
        # do something with the book
        return student 

student = Student.create("zhansan")

方式二(推荐):

from django.db import models

# Create your models here.
class Student(models.Model):
    # 如果没有models.AutoField,默认会创建一个id的自增列
    name = models.CharField(max_length=20)
    # model的字符串表现形式
    def __unicode__(self):
        return self.name
    objects = StudentManager()
 
class StudentManager(models.Manager):

    def create_student(self, name):
        student = self.create(name=name)
        # do something with the book
        return student

原文:https://my.oschina.net/leeyd/blog/367688

增:create()

objects.create(name = 'test') # 新增name字段的值为test

删:delete()

objects.all().delete() # 删除表中全部数据

objects.get(aa='test').delete() # 删除一条aa等于'test'的数据

objects.filter(aa='123').delete() #过滤出aa字段等于123的都删除

改:update()

get(id=id).update(name=name)

查:all()、get()

get(id=id)  # 查询单条数据

filter(name=name) # 查询匹配条件的多条数据

filter(name__contains=name)  # 模糊查询;name为查询的字段名

filter(name__contains=name)[0:5] # [0]显示第一条 [0:2]会显示前两条,切片不支持负数

dome

# models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models


class StudentManager(models.Manager):

    def create_student(self, name):
        # 方式一
        # student = Student(name = name)
        # # 保存到数据库
        # student.save()
        # 方式二(推荐)
        student = self.create(name=name)
        return student

    def select_all(self):
        # 查询全部
        list = self.all()
        return list

    def select_one(self, name):
        # a = []
        # # 查询单条数据
        # student = self.get(id=id)
        # a.append(student)
        # return a
        # 查询匹配条件的多条数据
        # student = self.filter(name=name)
        # 模糊查询
        student = self.filter(name__contains=name)
        # 根据字段内容排序后展示数据,根据字段内容逆向排序后展示数据,加一个负号order_by('-name')
        tt = student.order_by('name')

        # 限制数据条数, 相当于mysql limit
        tt1 = self.filter(name__contains=name)[0:5]  # [0]显示第一条 [0:2]会显示前两条,切片不支持负数
        return tt1

    def updata_student(self, id, name):
        self.get(id=id).update(name=name)  # update可多条update(name=name, bb="wahaha")

# Create your models here.
class Student(models.Model):

    # 如果没有models.AutoField,默认会创建一个id的自增列
    name = models.CharField(max_length=20)

    # model的字符串表现形式
    def __unicode__(self):
        return self.name

    objects = StudentManager()






--结束END--

本文标题: python+django搭建web项目

本文链接: https://www.lsjlt.com/news/188884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python+django搭建web项目
    创建项目 原文1:http://blog.csdn.net/yjx2323999451/article/details/53200243 原文2:http://www.cnblogs.com/benshan/p/4445074.html ...
    99+
    2023-01-31
    项目 python django
  • Python之Web框架Django项目搭建全过程
    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:...
    99+
    2022-06-04
    全过程 框架 项目
  • python web框架django项目创建
    要创建一个Django项目,首先需要确保已经安装了Python和Django。接下来,按照以下步骤进行操作:1. 创建一个新的目录,...
    99+
    2023-09-14
    python
  • python django web项目的
    视图的实现:视图是一个简单的 Python 方法,它接受一个请求对象,负责实现:任何业务逻辑(直接或间接)上下文字典,它包含模板数据使用一个上下文来表示模板响应对象,它将所表示的结果返回到这个框架中在 Django 中,当一个 URL 被请...
    99+
    2023-01-31
    项目 python django
  • Django项目快速搭建
    快速搭建Django项目: 1. 在linux 命令行中安装Django的命令   如果要使用虚拟环境,要先workon 虚拟环境名再安装django pip install django==版本号 eg: pip install Dj...
    99+
    2023-01-30
    快速 项目 Django
  • Python web项目Django部署
    材料准备 准备一个Django项目 准备一台Ubuntu18.04的主机 ssh连接到主机(腾讯云) Mac直接在bash中输入ssh root@你的主机ip Windows请下载ssh远程连接工具例如Putty 腾讯云默认不能以r...
    99+
    2023-01-31
    项目 Python web
  • Python框架Django的环境及项目搭建
    本篇内容介绍了“Python框架Django的环境及项目搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!特点我们先来了解下 Django ...
    99+
    2023-06-04
  • django项目环境的搭建过程
    本篇内容介绍了“django项目环境的搭建过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装环境:centos7.41 安装nginx&...
    99+
    2023-06-02
  • Pycharm怎么搭建一个Django项目
    本篇内容主要讲解“Pycharm怎么搭建一个Django项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pycharm怎么搭建一个Django项目”吧!Django 简介Django是一个开放...
    99+
    2023-07-05
  • 毒鸡汤 | PHPStudy搭建web项目
    文章目录 前言展示准备工作环境创建网站新建数据库 PHP7现成版自己折腾版 前言 折腾了很久,终于自己改成功了。问题不多,主要原因是自己没怎么开发过,不熟悉数据库连接原理,现在...
    99+
    2023-09-11
    数据库 mysql php
  • django创建项目
    Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:       Model(模型):负责业务对象与数据库的对...
    99+
    2023-01-30
    项目 django
  • 新建Django项目
    1. 创建项目 使用Django提供的命令,可以创建一个Django项目实例需要的配置项——包括数据库配置、Django配置和应用程序配置的集合。新建Django项目命令的语法格式如下: django...
    99+
    2023-09-08
    django python 后端
  • python django项目创建及前期
    一、创建django项目 1、打开pycharm软件 2、点击菜单栏 File-->New Project,弹出如下对话框,如下图设置   二、基本配置 1、静态文件目录配置(用于客户端访问后台服务静态文件资源,如bootstra...
    99+
    2023-01-30
    项目 python django
  • 虚拟环境下搭建一个Django项目
    目录1.为什么需要创建虚拟环境?2.前提条件3.创建python的虚拟环境Window 下:Linux 下:4.创建 requirements.txt 文件5.执行 pip inst...
    99+
    2022-11-11
  • idea搭建可运行Servlet的Web项目
    目录1. new Project2. 填写 GroupID\ArtifactID3.创建 java 目录4. 创建 Servlet5. 配置 web.xml6. 配置 Tomcat1...
    99+
    2022-11-12
  • Django创建新项目
    1、安装Django       终端中输入:pip install Django==2.1.4   等于号后面的为版本,选则适合自己python的版本,如下图   Django version Python versions ...
    99+
    2023-01-30
    新项目 Django
  • Pycharm创建Django项目
    1. 点击菜单栏的File--->New Project 2. 打开Terminal, 进入刚刚创建的路径执行如下命令: python manage.py startapp app01   显示效果如下: 3. 配置静态文件...
    99+
    2023-01-30
    项目 Pycharm Django
  • openstack项目搭建
    要搭建OpenStack项目,需要完成以下步骤:1. 准备服务器:选择一台或多台服务器作为OpenStack的主机。服务器应满足Op...
    99+
    2023-10-11
    openstack
  • 搭建flutter项目
    一些命令: 检查环境: MacBook-Pro ~ % flutter doctorDoctor summary (to see all details, run flutter doctor -v)...
    99+
    2023-10-25
    flutter android android studio
  • golang 项目搭建
    在当今这个数字化时代,编程语言的种类不断涌现,如今有着Python、Java、C++等一系列经典语言。但是,随着互联网的飞快发展,身为服务端语言的Golang也正在逐渐崛起,其性能优势和开发效率已经得到业界的高度认可。本文将探讨如何搭建一个...
    99+
    2023-05-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作