python+django搭建web项目

需要的环境......(略)

使用pycharm社区版搭建项目(专业版有更强大功能):

  1. 打开terminal 执行命令: django-admin startproject first_project  如下图:

在Django_server目录下会创建一个first_project项目;

  1. 连接mysql数据库:

如果未安装mysqlclient驱动程序,需要执行命令:pip3 install mysqlclient;如遇报错(红一片的那种),需要先在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient下载对应python版本的mysqlclient(我的是3.5版本)

  • 下载完成后,在该文件所在目录打开命令行执行窗口,执行命令:
  • pip3 install mysqlclient‑1.4.4‑cp35‑cp35m‑win_amd64.whl  (根据版本而定)

成功以后对,配置数据库连接,打开settings.py文件编写代码:

DATABASES = {
   
'default': {
       
'ENGINE': 'django.db.backends.mysql',
       
'NAME': '数据库名称',
       
'USER': '数据库用户名',
       
'PASSWORD': '密码',
       
'HOST': 'localhost',
       
'PORT': '3306',
   
}
}

执行命令:python manage.py shell   如图:

测试数据库配置是否成功:

>>> from django.db import connection

>>> cursor = connection.cursor()

如果没有报错,则配置成功。

  1. 创建app

首先切换到项目路径下:cd  first_project

执行命令:python  manage.py  startapp  student

会在项目下创建一个student目录。

  1. 创建模板文件的目录:

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

  1. 启动:python manage.py runserver   (默认端口号8000)

启动成功!

在浏览器访问:127.0.0.1:8000 显示:

  1. 添加web工程页面

打开first_project/views.py输入:

from django.http import HttpResponse

import datetime





def hello(request):

    date = datetime.datetime.now()  # 获取当前时间

    html = '<h2>Hello World!现在时间是:{}</h2>'.format(date)

    return HttpResponse(html)
  1. url映射配置:

打开first_project/urls.py输入:

from django.conf.urls import url

from django.contrib import admin

from first_project import views



urlpatterns = [

    url('admin/', admin.site.urls),

    url(r'^hello/$', views.hello),

]

在浏览器访问:127.0.0.1:8000/hello

成功!

  1. 逻辑和页面分离

在新建的templates目录下创建一个student.html文件编写如下代码:

<!DOCTYPE html>
<html
lang="en">
<head>
    <meta
charset="UTF-8">
    <title>
hello</title>
</head>
<body>
<ul>
   
{% for student in students %}
   
<li>
       
id:{{student.id}},姓名:{{student.name}},age:{{student.age}}
   
</li>
   
{% endfor %}
</ul>
</body>
</html>

在Student/views.py 文件下编辑代码:

from django.shortcuts import render, render_to_response


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

添加url映射:

from django.conf.urls import url
from django.contrib import admin
from first_project import views
from student import views as student_views

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

修改firstproject目录下的setting.py配置文件:

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',
           
],
        
},
   
},
]

此时,访问127.0.0.1:8000/showStudents显示出如下信息:

  1. 创建模型

打开student目录下的models.py编写代码:

from django.db import models


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

激活模型:

打开setting.py找到 INSTALLED_APPS 设置:

INSTALLED_APPS = [
   
'django.contrib.admin',
   
'django.contrib.auth',
   
'django.contrib.contenttypes',
   
'django.contrib.sessions',
   
'django.contrib.messages',
   
'django.contrib.staticfiles',
   
'student',
]

将新建的models同步到数据库:(请使用mysql6以上版本)

在项目目录下执行命令:

python manage.py  makemigrations

python manage.py  migrate

数据库中创建如上表;

附录:

字段

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里是否可编辑

 欢迎关注wx公众号:python web小栈,共同探讨学习

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种流行的编程语言,有非常丰富的库和框架可供使用。而Django是一个基于Python的开发框架,用于快速搭建Web应用程序。Vue是一种流行的JavaScript框架,用于构建用户界面。 当我们要搭建一个前后端分离的项目时,可以使用PythonDjango框架和Vue框架来实现。下面是大致的步骤: 1. 对于后端,我们可以使用Django框架来搭建RESTful API。首先,创建一个新的Django项目并设置好相关配置。然后,定义数据模型和数据库表,可以使用Django的ORM(对象关系映射)来简化数据库操作。接下来,创建视图函数来处理不同的API请求,可以通过序列化器将模型数据转换为JSON格式进行传输。最后,设置URL路由映射和权限控制,确保API的安全性和可访问性。 2. 对于前端,我们可以使用Vue框架来构建用户界面。首先,创建一个新的Vue项目并安装所需的依赖项。然后,创建组件来管理不同的页面和功能模块。在组件中,可以使用Vue的数据绑定和计算属性等功能来简化数据处理和状态管理。同时,可以使用Vue Router来管理页面之间的导航和路由,以及使用axios库来发送API请求和接收响应。 3. 在前后端之间进行通信时,前端通过axios发送HTTP请求到后端的API接口,后端处理请求并返回相应的数据。前端可以根据接口的返回结果来更新界面和展示数据。 总的来说,使用PythonDjango框架和Vue框架可以很好地实现前后端分离的项目。Django提供了强大的后端支持,可以快速搭建API接口,而Vue框架则提供了便捷的前端开发环境,可以轻松构建用户界面。通过这种搭配,我们可以高效地开发出功能完善、交互流畅的Web应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值