Python学习之PyCharm使用Django

1,393 阅读2分钟

PyCharm

在这边我使用的是新的PyCharm,其中有遇到一些问题. 这是我的PyCharm版本信息

步骤

File => NewProject

1.修改数据库信息(sqlite3=>mysql)

2.在templates下添加文件夹以及index.html文件

3.在__init__.py文件中导入pymysql

4.新增urls文件

5.导入新增的urls.py文件

之前用的是

url(r'^index$', views.index)

现在换成了

path('', include('booktest.urls')),

因为我用的是Mac, 无法直接使用

mysql -u root -p

使用

/usr/local/mysql/bin/mysql -u root -p

现在高版本的系统在使用比如(额外补充)

sudo gem install xxx

安装一些软件时可能会报这样的错误

我们可以使用如下方式解决

sudo gem install -n /usr/local/bin xxx

这时候我们可以先终端查看数据库

查看当前的表有哪些

查看某一个表的结构

6.我们依照上面的表结构在刚创建的Django项目中,在models.py文件中新建模型

from django.db import models


# Create your models here.
# 当前表名称对应的数据库表名 booktest_bookinfo 如果不一致 需要使用class Meta 指定表的名字
class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)  # btitle = models.charField(max_length=20, db_column='btitle')
    bpub_date = models.DateField()
    bread = models.IntegerField(default=0)
    bcomment = models.IntegerField(default=0)
    isDelete = models.BooleanField(default=False)

    # 定义当前模型对应的数据库名(不需要重新做迁移)
    class Meta:
        db_table = 'booktest_bookinfo'

db_table = 'xxx' 这里的表名要和下面的看到的表名称对应

这是temp_var.html的内容

body部分的代码

使用字典的属性:{{ my_dict.title }} <br>
使用列表元素: {{ my_list.1 }} <br>
使用对象属性: {{ book.btitle }} <br>

views.py函数内容

代码

# 地址/temp_var
def temp_var(request):
    '''模板变量'''
    my_dict = {'title':'字典键值'}
    my_list = [1, 2, 3]
    book = BookInfo.objects.get(id=1)
    # 定义模板上下文
    context = {'my_dict':my_dict, 'my_list':my_list, 'book': book}
    return render(request, 'booktest/temp_var.html', context)

如果数据表没有内容的话

book = BookInfo.objects.get(id=1)

这句话会报这样的错误

DoesNotExist: User matching query does not exist.

可以添加一条数据即可

更应该

try:
    # 这里写代码
except:
    pass