[2018-10-29] python开发个人资源共享网--第二天

[2018-10-29] python开发个人资源共享网--第二天

创建Django目录

  startproject my_project

创建APP

  startapp my_app

手动创建的文件夹

  log  日志

  media  用户上传下载

  static  静态文件

  

配置数据库

  找到DATABASES  

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdjango',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

 

Django默认为我们提供了很多功能,但是这些功能的背后需要有一定的数据表来做支撑

生成Django默认的数据表

  进入pycharm的Tools--Run manage.py Task...

    执行:makemigrations  在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动

       migrate      生成数据表

    

运行项目

  Run--Debug--选择自己创建的项目

    默认访问地址:http://127.0.0.1:8000/

 

 

环境测试(留言板功能)

首先将写好的html、css等静态文件放到static文件夹下

配置url

  

from message.views import get_form


urlpatterns = [
    path('admin/', admin.site.urls),
    path('form/', get_form),   
]

 

配置view(app下的views.py文件)

  

def get_form(request):
    return render(request, 'message_form.html')

 

TemplateDoesNotExist

  在Django的setting,py文件中有一个TEMPLATES(指明了我们获取模板文件的处理类)

  在DIRS指明目录

  

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 获取根目录

# 在TEMPLATES中加入
'DIRS': [os.path.join(BASE_DIR, 'templates')],
 

 

配置静态路径

  在setting.py文件的 STATIC_URL = '/static/' 下面加上

  

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

 

 

项目配置流程

 

 

 

Model设计

新建的Model需要在setting中配置

  在 INSTALLED_APPS下加入

    'message',

ORM

编写Models.py

class UserMessage(models.Model):
    object_id = models.CharField(max_length=50, default="", primary_key=True, verbose_name=u"主键")
    name = models.CharField(max_length=20, null=True, blank=True, default="", verbose_name=u"用户名")
    email = models.EmailField(verbose_name=u"邮箱")
    address = models.CharField(max_length=100, verbose_name=u"联系地址")
    message = models.CharField(max_length=500, verbose_name=u"留言信息")

    class Meta:
        verbose_name = u"用户留言信息"

如果有编码问题请在Model.py文件的上方加上

  # _*_ coding:utf-8 _*_

 

通过Task执行  

  makemigrations messages

    然后会创建一个 0001_initial.py 文件

再执行

  migrate message

 

 

 

查询数据库中的记录

views.py 

# 查询数据
def get_form(request):
    all_message = UserMessage.objects.all()
    for message in all_message:
        print(message.name)
    return render(request, 'message_form.html')
# 插入数据
def get_form(request):
    user_message = UserMessage()        # 实例化对象
    user_message.name = "陈林2"
    user_message.email = "1@qq.com"
    user_message.address = "广东"
    user_message.message = "信息"
    user_message.object_id = "2"
    user_message.save()

    return render(request, 'message_form.html')

 

form表单内必须加

  {% csrf_token %}

 

接收表单POST过来的数据添加到数据库

# 通过POST接收到的数据添加到数据库
def get_form(request):
    if request.method == "POST":
        name = request.POST.get('name', '')
        email = request.POST.get('email', '')
        address = request.POST.get('address', '')
        message = request.POST.get('message', '')
        user_message = UserMessage()        # 实例化对象
        user_message.name = name
        user_message.email = email
        user_message.address = address
        user_message.message = message
        user_message.object_id = '3'
        user_message.save()

    return render(request, 'message_form.html')

 

# 删除数据
def get_form(request):
    all_message = UserMessage.objects.filter(name='陈林', address='广州白云')
    # all_message.delete()
    for message in all_message:
        message.delete()
        print(message.name)

    return render(request, 'message_form.html')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值