相关疑难解决方法(0)

Django测试:测试表单字段的初始值

我有一个视图应该是基于GET值为表单字段设置初始值.我想测试一下.我目前正在使用Django的测试客户端,但我愿意看其他工具.

编辑

对不起,我没有提到我很清楚assertContains方法,但我希望除了在HTML中搜索input标签和value属性之外还有更好的方法.

python django django-testing

17
推荐指数
2
解决办法
5625
查看次数

Python美丽的汤形式输入解析

我的目标是获取所有输入名称和值的列表.将它们配对并提交表格.名称和值是随机的.

from bs4 import BeautifulSoup # parsing

html = """
<html>
<head id="Head1"><title>Title Page</title></head>
<body>
    <form id="formS" action="login.asp?dx=" method="post">

    <input type=hidden name=qw1NWJOJi/E8IyqHSHA== value='gDcZHY+nV' >
    <input type=hidden name=sfqwWJOJi/E8DFDHSHB== value='kgDcZHY+n' >
    <input type=hidden name=Jsfqw1NdddfDDSDKKSL== value='rNg4pUhnV' >
    </form>

</body>

</html>
"""

html_proc = BeautifulSoup(html)
Run Code Online (Sandbox Code Playgroud)

这个位工作正常:

print html_proc.find("input", value=True)["value"]
> gDcZHY+nV
Run Code Online (Sandbox Code Playgroud)

但是,以下陈述不起作用或不起作用:

print html_proc.find("input", name=True)["name"]
> TypeError: find() got multiple values for keyword argument 'name'

print html_proc.findAll("input", value=True, attrs={'value'})
> []  

print html_proc.findAll('input', value=True)
> <input name="qw1NWJOJi/E8IyqHSHA==" type="hidden" value="gDcZHY+nV">
> <input name="sfqwWJOJi/E8DFDHSHB==" type="hidden" value="kgDcZHY+n"> …
Run Code Online (Sandbox Code Playgroud)

html python parsing beautifulsoup html-parsing

6
推荐指数
2
解决办法
1万
查看次数

在python或解析html页面中从html页面提取表单键值对

我想在html页面中提取某些表单元素的键值对

例如

name="frmLogin" method="POST" onSubmit="javascript:return validateAndSubmit();" action="TG_cim_logon.asp?SID=^YcMunDFDQUoWV32WPUMqPxeSxD4L_slp_rhc_rNvW7Fagp7FgH3l0uJR/3_slp_rhc_dYyJ_slp_rhc_vsPW0kJl&RegType=Lite_Home"
Run Code Online (Sandbox Code Playgroud)

而原来的线是

<form name="frmLogin" method="POST" onSubmit="javascript:return validateAndSubmit();" action="TG_cim_logon.asp?SID=^YcMunDFDQUoWV32WPUMqPxeSxD4L_slp_rhc_rNvW7Fagp7FgH3l0uJR/3_slp_rhc_dYyJ_slp_rhc_vsPW0kJl&RegType=Lite_Home">
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以安全地获得键和值对.我尝试使用空格拆分然后使用'='字符,但引号内的字符串也可以有'='.

是否有任何不同类型的拆分方法,也可以处理报价?

html python string parsing html-parsing

5
推荐指数
1
解决办法
2025
查看次数

如何使用测试客户端填写 Django 表单

我想测试我的 Django 表单,但出现此错误

django.core.exceptions.ValidationError: ['ManagementForm data is missing or has been tampered with']
Run Code Online (Sandbox Code Playgroud)

这样做:

 self.client.post(self.url, {"title" : 'title', "status" : 2, "user" :1})
Run Code Online (Sandbox Code Playgroud)

而我的模型只需要这些字段......

谢谢 :)

编辑1:这是表格:

class ArticleAdminDisplayable(DisplayableAdmin):

    fieldsets = deepcopy(ArticleAdmin.fieldsets)
    list_display = ('title', 'department', 'publish_date', 'status', )
    exclude = ('related_posts',)
    filter_horizontal = ['categories',]
    inlines = [ArticleImageInline,
               ArticlePersonAutocompleteInlineAdmin,
               ArticleRelatedTitleAdmin,
               DynamicContentArticleInline,
               ArticlePlaylistInline]
    list_filter = [ 'status', 'keywords', 'department', ]

class ArticleAdmin(admin.ModelAdmin):

    model = Article
Run Code Online (Sandbox Code Playgroud)

关于文章模型有太多的继承,所以你必须相信我唯一需要的字段(模型)是标题、状态和用户。

python forms django model admin

5
推荐指数
1
解决办法
3044
查看次数