mysite / urls.py
from django.contrib.auth import views
from django.views.generic.base import TemplateView
urlpatterns = [
url('update_db/(<dbname>)/',include('polls.urls')),url(r'^admin/',admin.site.urls),url('mysite/login/',auth_views.LoginView.as_view(),name='login'),url(r'^fetch/',url('mysite/logout/$',auth_views.logout,name='logout'),]
polls.urls.py
from django.conf.urls import url
from . import views
from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
urlpatterns = [
url('update_db/(?P<dbname>\w+)/$',login_required(views.MyView.get),name='x'),url('',login_required(views.IndexView.as_view())),]
fetch.html
<td><a href="{% url 'x' dbname=schdule.5 %}/?next='fetch'">click</a></td>
polls / views.py
from django.shortcuts import render
from django.views.generic import TemplateView,ListView
from django.views.generic.edit import UpdateView
# Create your views here.
from django.http import HttpResponse
from .models import Item,DbRestorationLogDetails
class MyView(UpdateView):
logger.error('Something went wrong!')
print "THANKS FOR UPDATING"
template_name='fetch.html'
model = DbRestorationLogDetails
fields =['verification_status']
def get(self,request,dbname):
usname=request.user
print usname
print dbname
if request.method == "GET":
dblog = DbRestorationLogDetails.objects.get(dbname=dbname)
dblog.verification_status = 'Verified'
print dblog.verification_status
dblog.save()
#.update(dblogdetails.verification_status = 'Verified')
return HttpResponseRedirect(request.GET.get('next'))
注意:无法访问MyView.get()并且没有数据库更新发生。我以为我的代码无法读取我的函数。