打开命令行窗口,创建django工程,并在工程内创建应用,命令如下:django-admin startproject djboardcd djboardpython manage.py startapp msg
使用PyCharm打开此工程,在工程同名目录的settings文件夹,配置模板路径,注册应用,修改部分代码如下:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'msg.apps.MsgConfig', ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(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', ], }, }, ]
在工程根目录新建templates文件夹,并在文件夹内新建‘board.html’文件,文件内容如下:
历史留言
{% if messages %}- {% for message in messages %}
{{message.name}} 在 ({{message.date}})留言
{{message.content}}
{%endfor%}
在应用msg文件夹内的models.py文件,添加如下代码,定义模型类:from django.db import models # Create your models here. class Message(models.Model): name = models.CharField(max_length=30) date = models.DateTimeField(auto_now_add=True) content = models.CharField(max_length=255)
在工程的urls.py文件include应用的urls.py文件,代码如下;from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'',include('msg.urls')), ]
在应用文件夹新建‘urls.py’文件,并写两个url路径,代码如下:from . import views from django.conf.urls import url urlpatterns = [ url(r'board/',views.board), url(r'msg/',views.msg), ]
在应用视图文件,编写上面的两个视图函数,board用来显示,msg用来处理提交的留言,代码如下:from django.shortcuts import render,redirect from . import models # Create your views here. def board(request): messages = models.Message.objects.all() return render(request,'dashboard.html',{'messages':messages}) def msg(request): if request.method == 'POST': name = request.POST['name'] content = request.POST['content'] msg = models.Message.objects.create(name=name,content=content) return redirect('/board/')
生成数据库迁移文件,并迁移数据库,代码如下:python manage.py makemigrationspython manage.py migrate
运行服务器,打开页面提交留言,能正常显示,成功python manage.py runserver