什么东西掉进水里不会湿| 为什么家里会有蟑螂| 拿东西手抖是什么原因| 红什么| 什么油炒菜好吃又健康| 无名指戴戒指什么意思| 肠易激综合征吃什么中成药| 升天是什么意思| 增生是什么意思| IB是什么| 喜欢吃冰的是什么原因| 02年属什么生肖| 鼻子出油多是什么原因| 6月3号是什么星座| 青蒿素是什么| 高铁座位为什么没有e| 容祖儿老公叫什么名字| 屋尘螨和粉尘螨是什么| 骨科是什么梗| 第一次是什么感觉| pab是什么意思| 什么品牌的空气炸锅好| 什么动物吃蜘蛛| 心脏缺血吃什么补的快| 筋头巴脑是什么肉| 波奇饭是什么意思| 夏天什么花会开| 抗体是什么| 九七年属什么生肖| 捡帽子有什么说法吗| 类风湿有什么症状| 五福临门是什么生肖| 孔雀鱼吃什么| 做hpv检查前要注意什么| 1998年什么命| 什么的小河| 黑京念什么| 掉头发吃什么维生素| 什么是水肿| 经常流鼻血是什么原因| 曲率是什么意思| 眼睛痒用什么药| 猪与什么属相相冲| 什么是奶昔| 山竹什么时候吃是应季| 青梅煮酒什么意思| 梦见手机坏了是什么意思| 索是什么意思| 现在是什么星座| 膝跳反射属于什么反射| 大脑供血不足吃什么药| 法令纹上有痣代表什么| fabric是什么面料| 一什么铅笔| 肝火旺吃什么调理| 阴毛的作用是什么| 客厅沙发后面墙上挂什么画好| 致字五行属什么| 肺部结节是什么意思啊| 全麻后为什么不能睡觉| 王景读什么| 为什么鸡蛋不能和牛奶一起吃| 膀胱ca是什么意思| 单从属于什么茶| 焗油是什么意思| 轻生什么意思| 一月17号是什么星座| 吃大枣有什么好处| 慢性前列腺炎吃什么药| 牛剖层皮革是什么意思| 一什么枣| 阴茎硬度不够吃什么药| 什么不及| 来月经小腹痛是什么原因| 潘多拉是什么意思| 星星为什么眨眼睛| 美尼尔综合征吃什么药| 产后恶露是什么| 尿里红细胞高什么原因| 北戴河在什么地方| 慢性咽炎是什么症状| 抹胸是什么| 子宫囊肿是什么原因引起的| 耳朵发烫是什么征兆| 津是什么意思| 茶鱼是什么鱼| 梦见手表是什么意思| 九月是什么星座的| 股票缺口是什么意思| 麝香对孕妇有什么危害性| 肠道肿瘤有什么症状| 人为什么会觉得累| 20至30元什么烟最好抽| 豇豆不能和什么一起吃| 身上发痒是什么原因| 什么的去路| 十一月十七日是什么星座| 衣禄是什么意思| 便秘吃什么药| 拔智齿后需要注意什么| ihc是什么意思| 铁锚是什么意思| 屁股后面骨头疼是什么原因| 手机壳什么材质最好| 3.5是什么星座| 什么叫寓言故事| 网络拒绝接入什么意思| 讣告是什么意思| bbd是什么意思| 尾巴翘上天是什么意思| 黄牛用的什么抢票软件| 遇难呈祥是什么生肖| 三唑仑是什么药| 碱性水是什么水| 放河灯是什么节日| 梦见小葱是什么意思| 为什么会长针眼| 舌中间有裂纹是什么原因| 东莞有什么好玩的| 目赤肿痛吃什么药最好| 血糖高喝什么豆浆好| 晚上饿了吃什么不长胖| 搀扶是什么意思| 吟诗作赋是什么意思| 血小板是什么颜色的| 爵迹小说为什么不写了| 胡萝卜什么时候种| 肝功七项查的是什么| 十一月三十是什么星座| 藏红花的功效是什么| 四个一是什么| 消融是什么意思| 词牌名什么意思| 陪衬是什么意思| 肾积水是什么原因造成的怎么治疗| 喝酒有什么好处| 腰突然疼是什么原因| 什么是菊粉| 怀孕一个月会有什么反应| 火碱是什么东西| 花开半夏是什么意思| 达泊西汀是什么药| 温碧泉属于什么档次| 十二指肠溃疡是什么症状| cpc什么意思| 身上长血痣是什么原因引起的| 喝黄瓜汁有什么好处| 肌酐高是什么引起的| 补血吃什么| 阿普唑仑片是什么药| 胃怕凉怕冷是什么原因| 脚气是什么菌| 淋巴滤泡形成什么意思| 血小板低吃什么补的快| 虎女配什么生肖最好| 怀孕有什么现象| 心脏传导阻滞吃什么药| 未时是什么时辰| 吃黄精有什么好处| 女生腰疼是什么原因| 黑头发有什么好处脑筋急转弯| 草莓是什么形状| 钢铁侠叫什么名字| 糖尿病适合吃什么水果| 身份证最后一位x是什么意思| 卢沟桥事变又称什么| 亥和什么合| 结节是什么| 经期头疼是什么原因怎么办| 属蛇男和什么属相最配| 什么是善良| 做完手术吃什么水果好| 书香门第的书香指什么| 结核抗体阳性说明什么| 尾巴长长的是什么鸟| 什么是全脂牛奶| 什么东西蛋白质含量高| 什么是猥亵| 一什么被子| 吃什么食物最补血| 玄关是什么位置| 儿童超敏c反应蛋白高说明什么| 醋精是什么| 男生一般什么时候停止长高| 毛新宇什么级别| 吃石斛有什么功效| 至死不渝是什么意思| 属鼠的幸运色是什么颜色| 犹太人为什么叫犹太人| 正法是什么意思| 黄色配什么颜色好看| 什么情况下会怀孕| 中国防御系统叫什么| 在什么什么前面| ngu是什么意思| 小三阳是什么| 金骏眉是什么茶类| 迅速的反义词是什么| 女人没有白带说明什么| 血小板低看什么科| 为什么会宫外孕| 尿激酶的作用及功效是什么| 心肾不交吃什么药| 为什么明星整牙那么快| 腱鞘囊肿看什么科| 眼底出血是什么原因造成的| 支气管炎挂什么科| 鼻窦炎首选什么抗生素| 杏仁是什么树的果实| 打嗝多是什么原因| 弓箭是什么时候发明的| fan什么意思| 足下生辉是什么意思| 什么的身体| 穿什么衣服显白| 母亲节可以做什么礼物| nt是什么货币| 老三篇是什么意思| 煲什么汤去湿气最好| 地区和市有什么区别| 麦露迪女鞋什么档次| 毛肚是什么| 11月13日什么星座| 肌张力高吃什么药| 法官是什么级别| 苹果浓缩汁是什么| 阴道炎用什么药| 健康证都检查什么项目| 1208是什么星座| 玛卡是什么药| 人为什么会生气| 什么中生什么| 脚气是什么原因引起的| 高手过招下一句是什么| 苹果花是什么颜色| cefiro是什么品牌| 嘴唇暗红色是什么原因| 为什么不建议小孩打流感疫苗| kiv是什么车| 什么人一年只工作一天脑筋急转弯| 朦胧是什么意思| 双手发抖是什么原因| 沉沦是什么意思| 沈阳有什么大学| 星期五右眼皮跳是什么预兆| 骨髓是什么| 阴阳八卦是什么生肖| 吃什么水果补肝养肝最有效| pku是什么意思| 维生素吃多了有什么副作用| ag医学上是什么意思| 口腔医学学什么| 金黄色葡萄球菌是什么| 心绞痛吃什么药| 资深是什么意思| 麻烦别人说什么礼貌用语| 胆汁酸高是什么原因| 为什么不能下午看病人| 查凝血酶能查出什么病| 空调买什么牌子好| 换身份证需要带什么| 支气管炎咳嗽吃什么药| 什么颜色显瘦| 头痛是什么病的前兆| 百度Jump to content

鸡肉不能和什么一起吃

From Wikipedia, the free encyclopedia
web2py Enterprise Web Framework
Original author(s)Massimo Di Pierro
Initial releaseSeptember 27, 2007; 17 years ago (2025-08-07)
Stable release
2.27.1[1] Edit this on Wikidata / 16 November 2023; 20 months ago (16 November 2023)
RepositoryWeb2py Repository
Written inPython
PlatformCross-platform
TypeWeb application framework
LicenseGNU Lesser General Public License version 3 (LGPLv3)
Websitewww.web2py.com
百度 更让我们倍增紧迫感的是,全球市场都在紧盯高科技企业,交易所竞相改革以期留住新产业新商业模式中的优秀公司,而企业最终选择在何地上市完全由其自主决定。

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.[2]

Web2py was originally designed as a teaching tool with emphasis on ease of use and deployment. Therefore, it does not have any project-level configuration files. The design of web2py was inspired by the Ruby on Rails and Django frameworks. Like these frameworks, web2py focuses on rapid development, favors convention over configuration approach and follows a model–view–controller (MVC) architectural pattern.

Overview

[edit]

Web2py is a full-stack framework in that it has built-in components for all major functions, including:

Web2py encourages sound software engineering practices such as

Web2py uses the WSGI protocol, the Python-oriented protocol for communication between web server and web applications. It also provides handlers for CGI and the FastCGI protocols, and it includes the multi-threaded, SSL-enabled Rocket[6] wsgiserver.

Distinctive features

[edit]

Web-based integrated development environment (IDE)

[edit]

All development, debugging, testing, maintenance and remote database administration can (optionally) be performed without third-party tools, via a web interface, itself a web2py application. Internationalization (adding languages and writing translations) can also be performed from this IDE. Each application has an automatically generated database administrative interface, similar to Django. The web IDE also includes web-based testing.

Applications can also be created from the command line or developed with other IDEs.[7] Further debugging options:[8]

  • Wing IDE allows graphical debugging of web2py applications[9] as you interact with it from your web browser, you can inspect and modify variables, make function calls etc.
  • Eclipse/PyDev — Eclipse with the Aptana PyDev plugin — supports web2py as well.[10][11]
  • The extensible pdb debugger is a module of Python's standard library.
  • With the platform-independent open-source Winpdb debugger, one can perform remote debugging[12] over TCP/IP, through encrypted connection.[13]

The Hello World program with web2py in its simplest form (simple web page[14] with no template) looks like:

def hello():
    return 'Hello World'

Web2py includes pure Python-based template language, with no indentation requirements and a server-side Document Object Model (DOM). The template system works without web2py.[15] Joomla 1.x templates can be converted to web2py layouts.[16]

Web2py also includes two markup libraries: the markdown2 text-to-HTML filter, which converts Markdown markup to HTML on the fly; and markmin which is inspired by markdown but supports tables, html5 video/audio and oembed protocol.

A controller without a view automatically uses a generic view that render the variables returned by the controller, enabling the development of an application's business logic before writing HTML. The "Hello World" example using a default template:

def hello():
    return dict(greeting='Hello World')

The dict() output of an action is automatically rendered in HTML if the page is request with a .html extension, in JSON if the page is requested with a .json extension, in XML if requested with .xml. It supports other protocols including jsonp, rss, ics, google maps, etc. and is extensible.

Here is a more complex code example which defines a table, and exposes a grid to logged in users:

db.define_table('thing',Field('name',notnull=True))

@auth.requires_login()
def hello():
    return dict(grid = SQLFORM.grid(db.thing))

Ticketing system

[edit]

Each web2py application comes with a ticketing system:

  • If an error occurs, it is logged and a ticket is issued to the user. That allows error tracking.
  • Errors and source code are accessible only to the administrator, who can search and retrieve errors by date or client-IP. No error can result in code being exposed to the users.

Portable cron

[edit]

Cron is a mechanism for creating and running recurrent tasks in background. It looks for an application-specific crontab file which is in standard crontab format. Three modes of operation are available:

  • Soft cron: cron routines are checked after web page content has been served, does not guarantee execution precision. For unprivileged Apache CGI/WSGI installs.
  • Hard cron: a cron thread gets started on web2py startup. For Windows and Rocket/standalone web2py installs.
  • System cron: cron functions get force-called from the command line, usually from the system crontab. For Unix/Linux systems and places where the cron triggers need to be executed even if web2py is not running at the moment; also good for CGI/WSGI installs if you have access to the system crontab.

Scheduler

[edit]

Since version 2.3 the use of cron is discouraged since web2py comes with a master/worker scheduler. Jobs can be defined in models and are scheduled by creating an entry in the database. Users can start work processes who pickup and execute tasks in background. The schedule is better than cron because it allows to specify more parameters (start time, stop time, number of repetitions, number of trials in case of error) and do a better job at running within constant resource utilization.

Bytecode distribution

[edit]

Web2py can compile web applications for distribution in bytecode compiled form, without source code. Unlike frameworks that use specialized template languages for their views, Web2py can also compile the view code into bytecode, since it is pure Python code.

Global Environment

[edit]

Web2py is unique in the world of Python web frameworks because models and controllers are executed, not imported. They are not modules. They are executed in a single global environment which is initialized at each HTTP request. This design decision has pros and cons.

The major pro is the ease of development, specifically for rapid prototyping. Another pro is that all the objects defined within this environment are cleanly reset at each HTTP request and never shared across requests. This means the developer does not need to worry about changing the state of an object (for example the readable attribute of a database field) or worry about a change leaking to other concurrent requests or other applications. A third advantage is that web2py allows the coexistence of multiple applications under the same instance without conflicts even if they use different versions of the same modules or different modules with the same name.

The main disadvantage of the global environment is that model files and controller files are not modules and the order of execution matters (although it can be specified using conditional models). Naming conflict is more likely to occur than in normal Python modules. Some standard Python development tools may not understand objects defined in models and controllers. Moreover, developers must be aware that code in models is executed at every request and this may cause a performance penalty. Nothing in web2py prevents developers from using and importing normal Python modules (model-less approach) and for this purpose web2py provides a thread local object (current) to facilitate access to objects associated to the current request. Yet, in this case, the developer has to be aware of the same pitfalls that other frameworks incur: changing the state of an object defined in a module may affect other concurrent requests.

Another con is that, because models and controllers are not class-based, efficient code reuse becomes more difficult, particularly as the inability to inherit from a parent controller (e.g. the ApplicationController in Ruby on Rails) means that common controller functionality must be referenced repeatedly across all controller files.

Supported environments

[edit]

Operating systems, Python versions & implementations, virtual machines, hardware

[edit]

web2py runs on Windows, Windows CE phones, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.7/3.5/3.6/pypy.[2]

The current binary version of web2py (for Windows or Mac) includes Python 2.7, but the source version can be run on 2.7 and 3.5+. Support for Python 2.6 has been dropped on 2017.

web2py since v1.64.0 runs unmodified on Java with Jython 2.5, without any known limitation.[17]

web2py code can run with IronPython on .NET.[18] Limitations:

  • no csv module (so no database I/O);
  • no third party database drivers (not even SQLite, so no databases at all);
  • no built-in web server (unless you cripple it by removing signals and logging).

The web2py binary will[19] run from a USB drive or a portable hard drive without dependencies, like Portable Python.

Web servers

[edit]

Web2py can service requests via HTTP and HTTPS with its built-in Rocket server,[20] with Apache,[21] Lighttpd,[22] Cherokee,[23] Hiawatha, Nginx and almost any other web server through CGI, FastCGI, WSGI, mod_proxy,[24][25][26] and/or mod_python.

IDEs and debuggers

[edit]

While a number of web2py developers use text editors such as Vim, Emacs or TextMate Web2py also has a built-in web-based IDE. Others prefer more specialized tools providing debugging, refactoring, etc.

Database handling

[edit]

The database abstraction layer (DAL) of web2py dynamically and transparently generates SQL queries and runs on multiple compatible database backend without the need for database-specific SQL commands (though SQL commands can be issued explicitly).

SQLite is included in Python and is the default web2py database. A connection string change allows connection to Firebird, IBM Db2, Informix, Ingres, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and Google App Engine (GAE) with some caveats. Specialities:

  • Multiple database connections.
  • Automatic table creates and alters.
  • Automatic transactions.
  • Distributed transactions:
    • Since web2py v1.17 with PostgreSQL v8.2 and later,[29][30] because it provides API for two-phase commits.
    • Since web2py v1.70.1 with Firebird and MySQL (experimental).
  • GAE is not a relational store, but web2py emulates certain operations.

The DAL is fast, at least comparable with SQLAlchemy and Storm.[31]

Web2py implements a DAL, not an ORM. An ORM maps database tables into classes representing logical abstractions from the database layer (e.g., a User class or a PurchaseOrder class), and maps records into instances of those classes. The DAL instead maps database tables and records into instances of classes representing sets and records instead of higher-level abstractions. It has very similar syntax to an ORM but it is faster, and can map almost any SQL expressions into DAL expressions. The DAL can be used independently of the rest of web2py.[32]

Here are some examples of DAL syntax:

db = DAL("postgresql://user:pass@localhost/db", pool_size=10)
db.define_table("person", Field("name"), Field("image", "upload"))
db.person.insert(name="Martin", image=open("filename.png"))
rows = db((db.person.name == "Martin") | db.person.name.contains("T")).select(
    orderby=db.person.name.lower()
)

The latest version of the DAL has support for 2D GIS functions with Spatialite and PostGIS. The current API are experimental because of a possible move to 3D APIs.

Automatic database migrations

[edit]

web2py supports database migrations—change the definition of a table and web2py ALTERs the table accordingly. Migrations are automatic, but can be disabled for any table, and migration is typically disabled when an application is ready for live distribution. Migrations and migration attempts are logged, documenting the changes.

Limitations:

  • SQLite cannot alter table and change a column type, but rather simply stores new values according to the new type.
  • GAE has no concept of alter-table, so migrations are limited.

Licenses

[edit]

Web2py code is released under GNU Lesser General Public License (LGPL) version 3 as of web2py version 1.91.1.[33]

Web2py code before version 1.91.1 was released under GNU GPL v2.0 with commercial exception.

Various third-party packages distributed with web2py have their own licenses, generally public domain, MIT or BSD-type licenses. Applications built with web2py are not covered by the LGPL license.

Web2py is copyrighted by Massimo DiPierro. The web2py trademark is owned by Massimo DiPierro.

Awards

[edit]

In 2011 InfoWorld ranked web2py highest among the top six Python web frameworks, awarded web2py the Bossie award 2011 for best open source application development software. In 2012 web2py won the InfoWorld Technology of the Year award.[34][35]

Publications

[edit]

web2py Book

[edit]

The base web2py documentation is The Official web2py Book, by Massimo DiPierro. The manual is a full web2py application and it's freely available online,[36] in PDF format or printed form.

  • 1st Edition: out of print. Wiley; September 16, 2008; 256 pages; ISBN 978-0-470-43232-7.
  • 2nd Edition: web2py Manual. Wiley; August 26, 2009; 341 pages; ISBN 978-0-470-59235-9.
  • 3rd Edition: Lulu; September 25, 2010 357 pages.
  • 4th Edition: Lulu; December 9, 2011 583 pages.
  • 5th Edition: PDF Copy; March 3, 2013 614 pages; ISBN 978-0-578-12021-8.
  • latest online sources: on GitHub[37]

Online documentation

[edit]

Online documentation is linked from the web2py home page, with cookbook, videos, interactive examples, interactive API reference, epydoc s (complete library reference), FAQ, cheat sheet, online tools etc.

  • Cheat sheet for web2py.
  • web2pyslices, recipes posted using the movuca social network in web2py.
  • Crash Course in Web2py (5-part series).
  • Web2py slides (old).

Videos

[edit]
  • web2py Enterprise Web Framework Tutorial.
  • web2py "Shootout" video tutorial.
  • web2py on the Google appengine.
  • web2py: Create, edit, and deploy a basic web app.

Printed

[edit]
  • "web2py application development cookbook", Packt, 2012
  • Web programming with web2py; Python Magazine; Marco Tabini & Associates, Inc.; June 2008

Background

[edit]

Developers

[edit]

The lead developer of web2py is Massimo DiPierro, an associate professor of Computer Science at DePaul University in Chicago. As of 2011, the web2py homepage lists over 70 "main contributors".[38]

Development source code

[edit]

The web2py development source code is available from the main repository:

Third-party software included in web2py

[edit]

History and naming

[edit]

The source code for the first public version of web2py was released under GNU GPL v2.0 on 2025-08-07 by Massimo DiPierro as the Enterprise Web Framework (EWF). The name was changed twice due to name conflicts: EWF v1.7 was followed by Gluon v1.0, and Gluon v1.15 was followed by web2py v1.16. The license was changed to LGPLv3 as of web2py version 1.91.1 on 2025-08-07.

Applications built on Web2py

[edit]

Notes

[edit]
  1. ^ "web2py Web Framework".
  2. ^ a b "What is web2py?". web2py.com. Web2py. Retrieved 2025-08-07.
  3. ^ Web2py speaks multiple protocols since v1.63
  4. ^ Using SOAP with web2py
  5. ^ Writing Smart Web-based Forms
  6. ^ Rocket Web Server
  7. ^ Web2py online IDE with It's All Text! Firefox addon and Ulipad (open source Python IDE)
  8. ^ How to debug Web2py applications?
  9. ^ Wing IDE supports debugging for web2py
  10. ^ Eclipse/PyDev supports debugging for web2py
  11. ^ Using web2py on Eclipse
  12. ^ With Winpdb one can do remote debugging over TCP/IP
  13. ^ Encrypted communication in Winpdb
  14. ^ Simplest web page with web2py: "Hello World" example
  15. ^ How to use web2py templates without web2py
  16. ^ Using Joomla templates with web2py
  17. ^ Web2py runs fully on Java and J2EE using Jython
  18. ^ Web2py runs with IronPython on .NET, with limitations
  19. ^ MySQL with web2py Windows binary on a USB thumb-drive
  20. ^ How to run the built-in SSL server
  21. ^ Web2py with Apache and mod_ssl
  22. ^ Web2py with Lighttpd and FastCGI
  23. ^ Web2py with Cherokee
  24. ^ Apache Module mod_proxy
  25. ^ Web2py with mod_proxy
  26. ^ Web2py with mod_proxy and mod_proxy_html
  27. ^ Eric IDE Project
  28. ^ Using Wing IDE with web2py
  29. ^ Distributed transactions with PostgreSQL
  30. ^ Distributed transactions with PostgreSQL — further details
  31. ^ ORM Benchmark
  32. ^ How to use web2py DAL without web2py
  33. ^ web2py License Agreement
  34. ^ Grehan, Rick. "Pillars of Python: Six Python Web frameworks compared". InfoWorld. Retrieved 2025-08-07.
  35. ^ staff, InfoWorld Reviews. "InfoWorld's 2012 Technology of the Year Award winners". InfoWorld. Retrieved 2025-08-07.
  36. ^ "web2py - The official manual online". web2py.com. Retrieved 2025-08-07.
  37. ^ "web2py/web2py-book". GitHub. Retrieved 2025-08-07.
  38. ^ List of main contributors to web2py
[edit]
默契的意思是什么 嘴苦什么原因 鱼靠什么呼吸 先明后不争什么意思 农历闰六月有什么讲究
花开半夏什么意思 8月15号是什么星座 大姨妈来了不能吃什么东西 二氧化碳结合力是什么 杏林是什么意思
眼震电图能查什么病 b12有什么作用 蚯蚓喜欢吃什么 梦见下大雨是什么预兆 甲不开仓财物耗散是什么意思
母亲节要送什么礼物 什么地指挥 两个方一个土是什么字 道听途说什么意思 支气管炎是什么症状
歆五行属什么hcv8jop5ns2r.cn 破伤风针有什么作用hcv7jop5ns6r.cn 睡觉食管反流什么原因hcv9jop6ns3r.cn 线性骨折是什么意思hcv9jop1ns6r.cn 心腹是什么意思hcv8jop1ns9r.cn
用热毛巾敷眼睛有什么好处hcv9jop1ns7r.cn 地素女装属于什么档次hcv7jop5ns3r.cn 出汗吃什么药hcv9jop5ns0r.cn 什么是细胞hcv9jop1ns6r.cn 一什么而什么的成语hcv7jop5ns3r.cn
子午是什么时间hcv7jop7ns3r.cn 梦见老公出轨了是什么征兆hcv7jop9ns2r.cn 变态反应是什么意思hcv8jop4ns3r.cn 大姨妈期间适合吃什么水果hcv7jop6ns1r.cn 黑洞是什么hcv9jop4ns6r.cn
鸭子烧什么配菜好吃hcv9jop5ns7r.cn 京东自营店是什么意思hcv8jop4ns5r.cn 属马的女生和什么属相最配hkuteam.com 血沉高是什么意思hcv9jop0ns1r.cn 男人为什么喜欢吃奶hcv8jop9ns0r.cn
百度