1. Configure urls.py
from django.contrib import admin
from django.urls import path,re_path
from sign import views
= the urlpatterns [
path ( 'ADMIN /', admin.site.urls),
# re_path equal URL
re_path (r'index / ', views.index), # login page
re_path (' ^ $ ', views.index ), # login page
re_path (r '^ accounts / login / $', views.index), # login page (forced Login Jump)
re_path (r '^ login_action / $', views.login_action), # login process
re_path (r ' ^ event_manage / $ ', views.event_manage) # Home
]
2. Configure view views.py
from django.shortcuts import render
from django.http import HttpResponse,HttpResponseRedirect
from django.contrib import auth
from django.contrib.auth.decorators import login_required
# Create your views here.
def index(request):
# return HttpResponse("hello world!")
return render(request, 'index.html')
def login_action(request):
if request.method == 'POST':
# The name attribute input value acquisition
username = request.POST.get ( 'username', '')
password = request.POST.get ( 'password', '')
# Account password to verify the existence of the database, if there is no return None
the User = auth.authenticate (username = username, password = password)
IF IS not the User None:
# Log
auth.login (request, user)
# Save the session to the browser
request.session [ 'user'] = username
# After successful login goto
response = HttpResponseRedirect ( '/ event_manage / ')
Response return
the else:
return the render (Request, "index.html", { 'error': '! account number or password'})
@login_required
def event_manage(request):
# 获取session
username = request.session.get('user', '')
return render(request,'event_manage.html',{'user':username})
3. Configuration Template templates
3.1 index.html
<! DOCTYPE HTML>
<HTML lang = "EN">
<head>
<Meta charset = "UTF-. 8">
<title> conference management system </ title>
</ head>
<body>
<h1 of> conference management system </ h1>
<Method, form = "POST" Action = "/ login_action /">
<the INPUT name = "username" of the type = "text" placeholder = "account"> <br>
<the INPUT name = "password" of the type = "text" placeholder = "password"> <br>
{{}} error error when <br> # 2 acquired when the account password error
<button id = "submit" type = "submit"> Log </ the Button>
< / form>
</ body>
</ HTML>
3.2 event_manage.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>发布会管理</title>
</head>
<body>
<h1>HI! {{user}} </h1>
<h1>Welcome!</h1>
</body>
</html>
4. Use the database login system, create Event, Guest table
4.1 Create a super administrator
The display instruction
e:\guest>python manage.py createsuperuser
4.2 Creating Event, Guest table
from django.db import models
# Create your models here.
# 发布会表
class Event(models.Model):
name = models.CharField(max_length=100)
limit = models.IntegerField
status = models.BooleanField
address = models.CharField(max_length=200)
start_time = models.DateTimeField('events time')
create_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
# 嘉宾表
class Guest(models.Model):
event = models.ForeignKey(Event,on_delete=models.CASCADE)
realname = models.CharField(max_length=64)
phone = models.CharField(max_length=16)
email = models.EmailField
sign = models.BooleanField
create_time = models.DateTimeField(auto_now=True)
class Meta:
# Model inner class
unique_together = ( 'event', ' phone')
def __str__(self):
return self.realname
4.3 Configuration admin.py
from django.contrib import admin
from sign.models import Event,Guest
# Register your models here.
class EventAdmin(admin.ModelAdmin):
list_display = ['id','name','status','address','start_time']
search_fields = ['name']
# list_filter = ['status']
class GuestAdmin(admin.ModelAdmin):
list_display = ['realname','phone','email','sign','create_time','event']
search_fields = ['realname','phone']
# list_filter = ['sign']
admin.site.register(Event,EventAdmin)
admin.site.register(Guest,GuestAdmin)
4.4 Database Migration
e:\guest>python manage.py makemigrations sign