您现在的位置是:主页 > news > 做网站图片切图是什么/优化步骤

做网站图片切图是什么/优化步骤

admin2025/5/21 7:56:55news

简介做网站图片切图是什么,优化步骤,网站开发是做什么的,网站建设学校第四步:网络验证的逻辑开发1.将model注册到adminx.py中1.在apps/yanzheng目录下新建admin.py 文件,添加代码:importxadminfrom xadmin importviewsfrom .models importCardsclassBaseSetting(object):"""引入更换主题功能&quo…

做网站图片切图是什么,优化步骤,网站开发是做什么的,网站建设学校第四步:网络验证的逻辑开发1.将model注册到adminx.py中1.在apps/yanzheng目录下新建admin.py 文件,添加代码:importxadminfrom xadmin importviewsfrom .models importCardsclassBaseSetting(object):"""引入更换主题功能&quo…

第四步:网络验证的逻辑开发

1.将model注册到adminx.py中

1.在apps/yanzheng目录下新建admin.py 文件,添加代码:

importxadminfrom xadmin importviewsfrom .models importCardsclassBaseSetting(object):"""引入更换主题功能"""enable_themes=True

use_bootswatch=TrueclassGlobalSettings(object):"""页头和页脚"""site_title= "雪易网络验证后台"site_footer= "雪易网络验证"

#menu_style = "accordion"#如果加上,后台的菜单会变成下拉式

classCardsAdmin(object):

list_display= ['user', 'kacode', 'time', 'is_used']

search_fields= ['user', 'kacode', 'time', 'is_used']

list_filter= ['user', 'kacode', 'time', 'is_used']

xadmin.site.register(Cards, CardsAdmin)

xadmin.site.register(views.BaseAdminView, BaseSetting)

xadmin.site.register(views.CommAdminView, GlobalSettings)

2.修改apps/yanzheng/apps.py为:

from django.apps importAppConfigclassYanzhengConfig(AppConfig):

name= 'yanzheng'verbose_name='验证'

这时,再重启项目,登录到http://127.0.0.1:8000/xadmin/ 发现数据表已经出现在了后台菜单中,同时页头和页尾也变了。

   referrerpolicy=

2.网络验证几个功能的开发:

功能分析:

1、注册功能

2、登录功能

3、心跳包功能

4、生产充值卡密功能

5、充值功能

6、修改密码功能

显然是要跨站post的,所以到settings.py中把csrf关了:

MIDDLEWARE =['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',#屏蔽掉下面这一行,跨站post才可以正常进行,不然会403错误

#'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',

]

1.注册功能:

1.在apps/yanzheng/目录下新建form.py文件用于post提交上来数据的初步验证,写入验证注册信息的代码:

from django importformsfrom .models importUserProfileclassRegisterForm(forms.Form):"""注册信息的验证"""uid= forms.CharField(required=True,

max_length=150,

error_messages={'required': '用户名不能为空.','max_length':'用户名过长!'})

pwd= forms.CharField(required=True,

max_length=128,

error_messages={'required': '密码不能为空.','max_length': "密码过长!"})defclean(self):"""查看用户名是否已经被占用"""uid=self.cleaned_data.get('uid','')

u=UserProfile.objects.filter(username=uid)ifu:raise forms.ValidationError('此用户名已经被占用')else:return self.cleaned_data

2.在apps/yanzheng/views.py中写相关逻辑代码:

from django.views.generic importViewfrom .form importRegisterFormfrom django.shortcuts importrender,redirectfrom django.http importHttpResponsefrom .models importUserProfile,importreimporttimeimportdatetimeclassRegisterView(View):"""注册"""

defpost(self,request):

reg_form=RegisterForm(request.POST)ifreg_form.is_valid():

uid=request.POST.get('uid','')

pwd=request.POST.get('pwd','')

u=UserProfile()

u.username=uid

u.password=pwd

u.save()

msg="注册成功!"

else:

msg=str(reg_form.errors)if re.findall("注册成功!",msg):returnHttpResponse(0)elif re.findall("此用户名已经被占用",msg):return HttpResponse(1)elif re.findall("用户名不能为空",msg):return HttpResponse(2)elif re.findall("用户名过长",msg):return HttpResponse(3)elif re.findall("密码不能为空",msg):return HttpResponse(4)elif re.findall("密码过长",msg):return HttpResponse(5)else:return HttpResponse(6)

3.在urls.py中配置路由:

#......

from yanzheng.views importRegisterView

urlpatterns=[#......

path('register',RegisterView.as_view()),

]

2.登录功能:

1.在form.py 中增加对跟登录有关的post过来的数据的验证代码:

classLoginForm(forms.Form):"""登录"""uid= forms.CharField(required=True,error_messages={'required': '用户名不能为空.',})

pwd= forms.CharField(required=True,error_messages={'required': '密码不能为空.',})

2.在views.py中添加登录相关的逻辑代码:

from django.views.generic importViewfrom .form importRegisterForm,LoginFormfrom django.shortcuts importrender,redirectfrom django.http importHttpResponsefrom .models importUserProfileimportreimporttimeimportdatetimeclassLoginView(View):"""登录"""

defpost(self,request):

login_form=LoginForm(request.POST)iflogin_form.is_valid():

uid=request.POST.get('uid','')

pwd=request.POST.get('pwd','')

u=UserProfile.objects.filter(username=uid).first()if u.password==pwd:if notu.is_ban:

u_endtime_stamp=int(time.mktime(u.end_time.timetuple()))

nowtime_stamp=int(time.time())if u_endtime_stamp>nowtime_stamp:

u.end_time=u.end_time.strftime('%Y-%m-%d %H:%M:%S')

msg="登录成功,到期时间:"+u.end_timeelse:

msg="该账户已无剩余时间,请充值!"

else:

msg='此账户已经被冻结'

else:

msg='密码错误'

else:

msg=str(login_form.errors)if re.findall("登录成功",msg):returnHttpResponse(msg)elif re.findall("请充值",msg):return HttpResponse(11)elif re.findall("此账户已经被冻结",msg):return HttpResponse(12)elif re.findall("密码错误",msg):return HttpResponse(13)elif re.findall("用户名不能为空",msg):return HttpResponse(14)elif re.findall("密码不能为空",msg):return HttpResponse(15)else:return HttpResponse(16)

3.在urls.py中配置路由:

#......

from yanzheng.views importRegisterView,LoginView

urlpatterns=[#......

path('login',LoginView.as_view()),

]

3.心跳包功能:

1.这个虽然也是post数据,但是个人感觉没必要写form

2.在views.py中相关逻辑代码:

from django.views.generic importViewfrom django.http importHttpResponsefrom .models importUserProfileimportreimporttimeimportdatetimeclassPingView(View):"""心跳包"""

defpost(self,request):

uid= request.POST.get('uid', '')

pwd= request.POST.get('pwd', '')

u= UserProfile.objects.filter(username=uid).first()

u_endtime_stamp=int(time.mktime(u.end_time.timetuple()))

nowtime_stamp=int(time.time())if u_endtime_stamp >nowtime_stamp:

msg='0'

else:

msg='1'

return HttpResponse(msg)

3.在urls.py中配置路由:

#......

from yanzheng.views importRegisterView,LoginView,PingView

urlpatterns=[#......

path('ping',PingView.as_view()),

]

4.生产充值卡密功能:

1.我特意为充值卡密开发一个网页

1.在templates目录下新建一个html文件:index.html

2.到网上找一些素材模板,装饰网页,css文件放在static/css目录下,js文件放在static/js目录下,图片文件放在media/image目录下

3.为了引用到图片文件,在apps/yanzheng目录下的models.py中,为图片文件的路径建一个表:

classbg(models.Model):

image=models.ImageField(upload_to='image',verbose_name='背景图',default='image/bg.jpg')

然后打开Terminal执行经典的数据更新命令:

python manage.py makemigrations

python manage.py migrate

当然,2、3两个步骤,只是为了让生成卡密的网页显得更好看,而好看这件事,仁者见仁智者见智,读者需要自己去网上挑选自己喜欢的网页模板。

4.index.html文件代码:

{% load staticfiles %}

卡密工厂

background-repeat:no-repeat;

background-size:100% 100%;

-moz-background-size:100% 100%;

}

{{ msg }}

生产张数:

时间面值:

小时

星期

三月

半年

functioninfo() {

document.getElementById('info').innerHTML='正在生产卡密,请稍等……'}